LoginSignup
10
8

More than 5 years have passed since last update.

Embulk(エンバルク) データベースプラグイン覚書

Last updated at Posted at 2015-03-01

embulk-output-jdbc 3.0移行にまだ対応できておらず、一部の情報が古いです。

接続できるデータベース

RDBMS プラグイン 動作 備考
PostgreSQL embulk-output-postgres
MySQL embulk-output-mysql
MariaDB embulk-output-mysql 未確認
Redshift embulk-output-redshit
Oracle embulk-output-oracle
SQLite embulk-output-jdbc 未確認
SQL Server embulk-output-jdbc? 未確認
DB2 未確認 要プラグイン

※ 未確認とは、ネット上で動作したという記事をみておらず動作が確認できていないことを表します。

モード

二つのモードが実装済みです。またtruncate_insertモードの導入が検討されていいます。

  • insertモード: 読み込んだデータをテーブルに追記していきます。
  • replaceモード: 読み込んだデータでテーブルを丸ごと置き換えます。
  • truncate_insertモード、既存のエントリは削除して読み込んだデータに追記します。(テーブルをドロップしない) (未実装)

insertモードの動作

  • インサート先のテーブルがなかったらテーブルを作成します。
  • テンポラリテーブルに読み込んだレコードを挿入します。
  • インサートの処理はタスクの数だけ並列で行われます。

インサートモードを利用するときはrunのオプションに-oをつけて最後に読み込んだファイルを記憶させると便利です。

replaceモードの動作

  • テンポラリテーブルを作成します。
  • テンポラリテーブルに読み込んだレコードを挿入します。
  • インサートの処理はタスクの数だけ並列で行われます。
  • インサート先のテーブルがあった場合テーブルをドロップします。
  • テンポラリテーブルの名前をインサート先のテーブルに変更します。

今後追記予定

  • Embulkの型とRDBMSのカラムの対応表
  • 現状INTは未サポート等
10
8
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
10
8