ターミナルからTreasureDataにcsvファイルをアップロードする方法
はじめに
今までビックデータを扱う仕事をしてきたのにTreasure Dataを触ったことがありませんでした。
csvファイルをアップロードするだけでも悩んでしまいました。
検証環境
アップロードの手順について
以下のサイトが参考になりました。
Embulkを使ってデータをインポートする方法です。
データのインポートのためにいくつか準備しないといけないようですので、順番に設定していきます。
1.Embulkのインストール
パット見た感じ、JRE 1.8が必要であり、セットアップが面相くさそうでした。
せっかくなのでDockerイメージを作成して公開してみました。
したがって、以下のDockerイメージを利用していただければインストールを省略できます。次へ進みましょう。
genzouw/embulk-output-td
2.seed構成ファイルを作成
Treasure Dataへデータをインポートするための設定ファイルは、"seed configuration file"と呼ばれるファイルから自動生成させることができます。
まずは"seed configuration file"を作成します。
seed.ymlの細かい設定についてはここでは取り上げません。
apikey
の部分はTreasure Dataの設定ページから取得してください。database
/table
についても自分のデータベース名、テーブル名を設定しましょう。path_prefix
については、Dockerコンテナ内のパスを指定しなければならない点に注意しましょう。(後述)
アップロードするcsvファイルも適当に作っておきましょう。
3.load.ymlの生成
seed.yml
からload.yml
を生成します。
4. ロードジョブの実行
load.yml
は実行ジョブが設定されているファイルとなっています。
これを使って、アップロードジョブを実行しましょう。
この状態でTreasure Dataのデータを確認すれば、データがインポートされているはずです。
ひとこと
コマンドラインからデータロードさせるための仕組みもできました。
ディスカッション
コメント一覧
まだ、コメントがありません