この記事の主旨
DataWorksで以下をチャレンジ
・複数のデータベースに点在しているテーブルをひとつのデータベースに纏めて、コピー
・元となる複数テーブルをJOINして1テーブルにしてからコピー
やりたいことのイメージ図
青いのは、テーブルです。
・3つのデータベースを情報元として、1つのデータベースにデータコピー
・データベースを跨ってるテーブル2つをJOINして1つのテーブルとする
・他の2つのテーブルはそのままコピー
前提:各種テーブルの定義/中身
従業員
日本語満載の表。ちなみに一番最後のはアラビア語です(使えるんですねー)。
DataWorks上での設定
元データはどれか、選択する
データベースごとにどの表をコピーするかを選択します。
下の図であれば、
・まずはcompose2データベースからmeisaiテーブルを選ぶ。
・次にBLUDBデータベースからdeptテーブルを選ぶ
・最後にcomposeデータベースから顧客情報と従業員テーブルを選ぶ
JOINしたいときはREFINE DATA
選びおわったら、JOINの準備です。
REFINE DATAをクリックして画面を進めます。
JOINの定義
Join data setをクリックすると、具体的にどのテーブルをJOINさせるかを定義できる画面に移ります。
ここではDEPTテーブルとは従業員テーブルをJOINしたいので、「Select a table」---> 「従業員」の順番でクリックします。
どの列(キー)でJOINするかを定義
deptidでJOINするように選択し、最後に右上の「JOIN」をクリックします。
コピー先のデータベース、テーブルを定義して、ジョブ実行!
コピー先の情報を定義します。
簡単な画面の意味等は過去の記事を参照してください。
http://qiita.com/azzeten/items/a0b604c67d993387ff5e
ここでは、最後に表の名前を変えてみました。
「結合したテーブル」という名前で、JOIN結果をdashDBに格納できます。
結果
こんなかんじで完了です。おつかれさまでした。