embulkをインストール、実行してみる

IoT IoT

embulkとは

Embulkはバルクデータローダーです。データベース、ストレージ、ファイルフォーマット、クラウドサービス、およびその他のタイプの間のデータ転送をサポートしてくれます。

特徴は、以下があげられます。

  • プラグインの種類からの入力と出力の組み合わせ
  • 入力ファイル形式の自動推測
  • ビッグデータを扱うための並列実行
  • トランザクション制御

ここでは、インストールおよび簡単なサンプル実行方法を記載します。

embulkをインストールする

javaのインストール

javaが入っていない場合は、javaをインストールします。

ランタイムが入っていればいいのでjre8をインストールします。

Download the Latest Java LTS Free
Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

環境変数にJAVA_HOMEを追加して、jreの場所を設定します。

例:C:\Program Files\Java\jre1.8.0_261

embulkのインストール

Windowsの場合、以下のコマンドでembulkをインストールします。

任意のインストール先のディレクトリに移動してから実施します。

PowerShell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::TLS12; Invoke-WebRequest http://dl.embulk.org/embulk-latest.jar -OutFile embulk.bat}"

embulkを実行する

サンプルファイルをtry1フォルダ以下に作成します。

embulk example ./try1

seed.ymlをもとにして、config.ymlを生成します。

seed.ymlはデフォルトで以下の様になってます。この処理で、すでに入っているCSVファイルの内容から推測して、細かな設定情報をconfig.ymlに生成してくれます。

in:
  type: file
  path_prefix: 'C:\Users\remix\.\try1\csv\sample_'
out:
  type: stdout

以下のコマンドで、config.ymlを生成します。

embulk guess ./try1/seed.yml -o config.yml

CSVファイルの内容を読み取り、列情報などが設定されていることがわかります。

in:
  type: file
  path_prefix: C:\Users\remix\.\try1\csv\sample_
  decoders:
  - {type: gzip}
  parser:
    charset: UTF-8
    newline: LF
    type: csv
    delimiter: ','
    quote: '"'
    escape: '"'
    null_string: 'NULL'
    trim_if_not_quoted: false
    skip_header_lines: 1
    allow_extra_columns: false
    allow_optional_columns: false
    columns:
    - {name: id, type: long}
    - {name: account, type: long}
    - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
    - {name: purchase, type: timestamp, format: '%Y%m%d'}
    - {name: comment, type: string}
out: {type: stdout}

configファイルを指定して、ドライランでプレビュー表示をしてみます。

embulk preview config.yml

以下の様に表示されます。

実際に実行する際は、runで実行します。

embulk run config.yml

コメント