カピバラ好きなエンジニアブログ

ITのこととか趣味のカメラのことなどを赴くままに書いていきます。カピバラの可愛さこそ至高。

EmbulkでSQLServerから読み込んだデータをCSVに出力してみた

前回はSQL Serverから読み込んだデータをコンソールに出力したので、今回はそれをCSVに出力してみます。

参考にさせていただいた記事はこちら
qiita.com

実施作業

設定ファイル作成

前回設定したファイルのアウトプットタイプをfileにして、formatterで文字コードを指定します。
本来であれば他にも色々指定したほうがよいパラメータもあるのかもしれませんが、今回はこの設定のみにします。

in:
  type: sqlserver
  driver_path: C:\drivers\sqljdbc_7.2\jpn\mssql-jdbc-7.2.2.jre8.jar
  host: EC2AMAZ-L2BKFDH
  user: dbuser
  password: "******"
  database: AdventureWorks2012
  schema: Production
  table: Product
  select: "ProductID, Name, ProductNumber"
  where: "ProductID < 500"
  order_by: "ProductID ASC"
out:
  type: file
  path_prefix: C:\Users\Administrator\try1\csv\production_product
  file_ext: csv
  formatter:
    type: csv
    charset: UTF-8


guessコマンド実行

guessコマンドを実行して、設定ファイルを出力します。

embulk guess .\try1\sqlserver_to_csv.yml -o config_to_csv.yml

コマンドが正常終了していることを確認しました。
f:id:live-your-life-dd18:20200311194646p:plain

出力された設定内容は以下のようになっています。
f:id:live-your-life-dd18:20200311194747p:plain

runコマンド実行

以下のコマンドを実行します。

 embulk run .\config_to_csv.yml

エラーなく終了しました。
f:id:live-your-life-dd18:20200311195006p:plain

指定した場所にファイルが出力されていることが確認できます。
f:id:live-your-life-dd18:20200311195101p:plain

出力されたCSVファイルを確認すると中身も出力されていることが確認できました。
f:id:live-your-life-dd18:20200311195218p:plain

感想及び所感

ファイル名の000.00は自動で入るようです。

以下を見ると出力するファイル名につけるシーケンスのようで、デフォルト値から変更することもできそうです。
Embulk組み込みアウトプット覚書 · GitHub