LoginSignup
1
1

More than 5 years have passed since last update.

Bluemix:簡易ETLサービスDataConnect(複数DBからのデータコピー/テーブルのJOINもやってみた)

Last updated at Posted at 2016-08-28

この記事の主旨

DataWorksで以下をチャレンジ
複数のデータベースに点在しているテーブルをひとつのデータベースに纏めて、コピー
元となる複数テーブルをJOINして1テーブルにしてからコピー

やりたいことのイメージ図

青いのは、テーブルです。
・3つのデータベースを情報元として、1つのデータベースにデータコピー
・データベースを跨ってるテーブル2つをJOINして1つのテーブルとする
・他の2つのテーブルはそのままコピー

スクリーンショット 2016-08-28 23.20.19.png

前提:各種テーブルの定義/中身

従業員
日本語満載の表。ちなみに一番最後のはアラビア語です(使えるんですねー)。
スクリーンショット 2016-08-28 20.16.54.png

dept
スクリーンショット 2016-08-28 20.35.14.png

顧客情報とmeisaiテーブル
スクリーンショット 2016-08-28 23.18.06.png

DataWorks上での設定

元データはどれか、選択する

データベースごとにどの表をコピーするかを選択します。
下の図であれば、
・まずはcompose2データベースからmeisaiテーブルを選ぶ。
・次にBLUDBデータベースからdeptテーブルを選ぶ
・最後にcomposeデータベースから顧客情報と従業員テーブルを選ぶ

JOINしたいときはREFINE DATA

選びおわったら、JOINの準備です。
REFINE DATAをクリックして画面を進めます。

スクリーンショット 2016-08-28 23.35.57.png

JOINの定義

Join data setをクリックすると、具体的にどのテーブルをJOINさせるかを定義できる画面に移ります。
ここではDEPTテーブルとは従業員テーブルをJOINしたいので、「Select a table」---> 「従業員」の順番でクリックします。

スクリーンショット 2016-08-28 23.52.04.png

どの列(キー)でJOINするかを定義
deptidでJOINするように選択し、最後に右上の「JOIN」をクリックします。

スクリーンショット 2016-08-28 23.56.47.png

JOINできているのを確認して、NEXT
スクリーンショット 2016-08-28 21.12.51.png

コピー先のデータベース、テーブルを定義して、ジョブ実行!

コピー先の情報を定義します。
簡単な画面の意味等は過去の記事を参照してください。
http://qiita.com/azzeten/items/a0b604c67d993387ff5e

ここでは、最後に表の名前を変えてみました。
「結合したテーブル」という名前で、JOIN結果をdashDBに格納できます。

スクリーンショット 2016-08-28 23.48.19.png

結果

こんなかんじで完了です。おつかれさまでした。

スクリーンショット 2016-08-28 21.17.26.png

結合結果は↓
スクリーンショット 2016-08-28 23.59.11.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1