このトピックでは、DataWorks の Data Integration 機能を使用して Oracle から MaxCompute へデータを移行する方法について説明します。
前提条件
DataWorks 環境を準備します。
MaxCompute を有効化します。
ワークスペースを作成します。このトピックでは、基本モードのワークスペースを例として使用します。
DataWorks でビジネスフローを作成します。詳細については、「ビジネスフローの作成」をご参照ください。
Oracle 環境を準備します。
このトピックでは、Oracle が Elastic Compute Service (ECS) インスタンスにインストールされており、以下の構成となっています。ネットワーク接続を確保するため、ECS インスタンスにパブリック IP アドレスを割り当て、Oracle データベースのデフォルトポートである 1521 番ポートへのトラフィックを許可するようセキュリティグループルールを設定する必要があります。詳細については、「セキュリティグループルールの変更」をご参照ください。

上図に示すとおり、このトピックでは中国 (杭州) リージョンの VPC 内にある ecs.c5.xlarge ECS インスタンスを使用します。
背景情報
このトピックでは、DataWorks Oracle Reader を使用して Oracle からテストデータを読み取ります。詳細については、「Oracle Reader」をご参照ください。
Oracle でのテストデータの準備
Oracle のグラフィカルユーザーインターフェイス (GUI) を開き、DTSTEST.GOOD_SALE という名前のテーブルを作成します。このテーブルには、create_time、category、brand、buyer_id、trans_num、trans_amount、click_cnt の 7 つのカラムを含める必要があります。
テストデータを挿入します。この例では、手動でデータを挿入します。
insert into good_sale values('28-Dec-19','Kitchenware','BrandA','hanmeimei','6','80.6','4'); insert into good_sale values('21-Dec-19','FreshFood','BrandB','lilei','7','440.6','5'); insert into good_sale values('29-Dec-19','Apparel','BrandC','lily','12','351.9','9'); commit;データを挿入した後、次の文を実行してテーブルのデータを確認します。
select * from good_sale;
DataWorks を使用した Oracle から MaxCompute へのデータ移行
DataWorks コンソールにログインします。上部のナビゲーションバーで目的のリージョンを選択し、左側のナビゲーションウィンドウで を選択します。表示されたページでドロップダウンリストから目的のワークスペースを選択し、データ開発に移動 をクリックします。
Data Studio ページで、Oracle から移行されたデータを格納するための宛先テーブルを作成します。
ビジネスフローを右クリックし、 を選択します。
テーブル作成 ページで、テーブルの基本情報を構成します。
テーブルエディターページの上部で、DDL モード をクリックします。
DDL ダイアログボックスで、テーブル作成文を入力し、テーブルスキーマを生成 をクリックします。
CREATE TABLE good_sale ( create_time string, category string, brand string, buyer_id string, trans_num bigint, trans_amount double, click_cnt bigint ) ;テーブル作成時には、Oracle と MaxCompute 間のデータの型のマッピングを考慮してください。Oracle Reader がサポートするデータの型の詳細については、「データの型のマッピング」をご参照ください。
本番環境に送信 をクリックします。
Oracle データソースを作成します。詳細については、「Oracle データソースの構成」をご参照ください。
オフライン同期ノードを作成します。
データ分析ページに移動します。指定されたワークフローを右クリックし、 を選択します。
ノード作成 ダイアログボックスで、ノードの基本情報を構成し、OK をクリックします。
オフラインデータ同期ノードが作成されたら、ネットワークとリソースの構成 タブで、データソース を追加済みの Oracle データソースに、データ宛先 を MaxCompute データソースに設定します。マイリソースグループ セクションで使用するリソースグループを選択し、接続テスト をクリックします。その後、次へ をクリックします。データソースと宛先の構成 タブで、データソース および データ宛先 の両方の テーブル パラメーターを作成したテストテーブルに設定します。フィールドマッピング セクションで、同名マッピング を選択します。その他のパラメーターはデフォルト設定のままにしておけます。
アイコン
をクリックしてコードを実行します。操作ログ で結果を確認できます。
検証結果
ワークフローを右クリックし、 を選択します。
ノード作成 ダイアログボックスで、ノードの基本情報を構成し、OK をクリックします。
ODPS SQL ノードエディターページで、次の文を入力します。
-- MaxCompute にデータが書き込まれているかを確認します。 select * from good_sale;アイコン
をクリックしてコードを実行します。実行ログ で結果を確認できます。