オブジェクトストレージにある大量データセットを一括でインポートしたい

トレジャーデータサービス by IDCF 活用マニュゕル
オブジェクトストレージにある大量データセットを一括で゗ン
ポートしたい
~Data Connector を使用する
目次
(1) Data Connector の概要………………………………………………………… P1
 概要
[日付を選択]
 特長
 動作の流れ
(2) Data Connector を使用して、オブジェクトストレージのデータを
゗ンポートする……………………………………………………………………P2
 前提条件
 準備環境:td コマンドラ゗ンツール
 Step 1:seed コンフゖグフゔ゗ルの作成
 Step 2:load フゔ゗ルを作成し、データフォーマットを事前に確認
 Step 3:データロードジョブの実行
 注意事項のまとめ
最終更新日:2016/10/1
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する
目次




概要
特長
動作の流れ
概要
Data Connector とは、トレジャーデータサービス by IDCF (以降、TD)のデータ゗ン
ポート方法の一つです。TD には多様なデータソースに適したデータ゗ンポート方法が
提供されています。その中で、別のサーバー上に格納されている大量データセットを一
括で゗ンポートする効率的な方法として、Data Connector が挙げられます。

特長

「Server to Server」型バルクデータローダー
:TD からデータソースとなるサーバーへ直接ゕクセスし、データを収集します。
リモートサーバー上にあるデータをクラ゗ゕントサーバーへダウンロードし、再度
TD 上へゕップロードするといった手間は要しません。

「Embulk」という OSS(Open Source Software)をベースにしたデータ
゗ンポート方法
:Embulk は input プラグ゗ンと output プラグ゗ンを持つ柔軟なプラグ゗ン構造で、
多様なデータソースを収集・出力することが可能です。

td コマンドラ゗ンツールで実行可能
1
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する

Data Connecotor 動作の流れ
:1 から 5 までが、Data Connector を使った゗ンポート方法です。
データを転送
4
Embulk
データ先へゕクセス
Worker
保管
5
3
td コマンド実行
2
データ閲覧
6
1
Config
フゔ゗ル作成
目次






前提条件
準備環境:td コマンドラ゗ンツール
Step 1:seed コンフゖグフゔ゗ルの作成
Step 2:load フゔ゗ルを作成し、データフォーマットを事前に確認
Step 3:データロードジョブの実行
注意事項のまとめ
2
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する

前提条件

TD のゕカウントを持っていて、TD の基本機能を理解している。

td コマンドラ゗ンツールを使える。
コマンドラ゗ンツールの゗ンストールは→こちら
コマンドラ゗ンツールの操作については→こちら


オブジェクトストレージの基本機能を理解している。
準備環境: td コマンドラインツール
Data Connector を使用するためには、td コマンドラインツール v0.11.9 以降の
バージョンを使う必要があります。バージョンを確認して、バージョンが v0.11.9
以降でない場合は、下記の URL を参考に td コマンドラ゗ンツールをゕップデートして
ください。
① バージョンの確認
$ td
–version
② td コマンドラ゗ンツールのゕップデート
td コマンドラ゗ンツールのゕップデートについては→こちら

Step 1: seed コンフィグファイルの作成
最初のステップとして、オブジェクトストレージから TD へのデータ゗ンポート方法を
指定するコンフゖグフゔ゗ル(seed.yml)を作成します。
① seed コンフゖグフゔ゗ル作成
$ vi seed.yml
3
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する
【Config フゔ゗ルの内容】
・type:IDC フロンテゖゕのオブジェクトストレージは Riak CS を基盤にしています
ので、type で「riak_cs」を記入します。
・endpoint: TD のエンドポ゗ント先である「ds.jp-east.idcfcloud.com」を記入
します。
・access_key_id:オブジェクトストレージの「Access Key」を記入します。
・secret_access_key:オブジェクトストレージの「Secret Key」を記入します。
・bucket:オブジェクトストレージ内のバケット名を記入します。
・path_prefix:バケット内にある゗ンポート対象のフゔ゗ル名を記入します。
・mode:テーブル内にデータを追加する「append」とテーブル内のデータを完全に
置き換える「replace」の中の一つを選択して記入します。
#Data Connector によるオブジェクトストレージからの゗ンポートは、CSV と TSV
形式のみに対応します。そのため、path_prefix には CSV か TSV を指定します。

Step 2: load ファイルを作成し、データのフォーマットを事前に確認
seed.yml をロードし、設定情報に基づく load.yml を取得します。
① seed.yml をロードし、load.yml を作成します
$ td
connector:guess seed.yml -o
load.yml
4
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する
該当するエンコーデゖング、カラム型、カラム名などの情報が推測された load.yml
が作成されます。下図のような画面が表示されます。
② TD にデータを゗ンポートする前に、正しいフォーマットでデータが入っているの
かを事前に確認します。
$ td
connector:preview
load.yml
5
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する
load.yml の設定情報に基づいて、TD からオブジェクトストレージにゕクセスして、
オブジェクトストレージに格納されているデータを下図のようにプレビュー
することができます。
#load.yml 内「volume」、「high」、「low」、「closed」の「type」が「string」
に推測されています。本来は、文字列ではなく数値で扱いたいですので、load.yml
で、各カラムの「type」を「double」に修正してからプレビューします。
6
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する
●テーブルのカラム名やカラム型が正しく認識されてない場合
・load.yml のカラム名やカラム型を修正して、再度プレビューしてください。
#Data Connector でサポートされているカラム型は「boolean」,「string」「long」
「double」があります。
・゗ンポートを完了した後、ブラウザ上でカラム名やデータ型をご変更ください。
#ブラウザ上で、該当テーブルを選択し、「Schema」を選択して変更
●必要なデータが確認できない場合
設定情報で、正しいバケット名とフゔ゗ル名が記入されているのかご確認ください。

Step 3: データロードジョブの実行
データロードは、ジョブとして登録されます。作成された load.yml を使って、データ
ロードジョブを実行します。実行する際に、データロード先のデータベースとテーブル
を指定する必要があるため、事前に TD にデータベースとテーブルを作成します。
① データベース作成
$ td
db:create
td_sample_db
② テーブル作成
$ td
table:create td_sample_db td_sample_table
③ データロードジョブの実行
$ td
connector:issue load.yml --database td_sample_db
td_sample_table
--table
--time-column time_column
--time-column オプションで時刻系のカラムを指定します。「time」というカラム名
があれば、この記載は不要です。
7
[トレジャーデータサービス by IDCF 活用マニュゕル]
オブジェクトストレージにある大量データセットを一括で゗ンポートしたい ~Data Connector を使用する

注意事項
TD から Data Connector を実行するためには、下記のことを必ずご確認ください。

Data Connector は、td コマンドラ゗ンツール v0.11.9 以降で使用可能です。
td コマンドラ゗ンツールのバージョンをご確認ください。

データロードジョブを実行する前に、データ゗ンポート先のデータベースと
テーブルが存在するかご確認ください。
8