質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。

解決済

embulkを利用し単一のファイルを取り込み出力する際に複数にファイルに分割されてしまう

muratomi
muratomi

総合スコア13

Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。

1回答

0評価

0クリップ

3841閲覧

投稿2019/07/17 02:22

編集2019/07/17 03:58

前提・実現したいこと

embulkを利用しFTPでファイルを取得し、取得したファイルをFTPで出力したいと考えております。
1つのファイルを取得し出力する際、2つのファイルに分割されてしまいます。
1つのファイルに出力したいのですが、設定方法等お気づきの点があればお教えいただけますと幸いです。

ファイル取得には「embulk-input-ftp」、ファイル出力には「embulk-output-ftp」のプラグインを利用しています。

実行環境の情報は以下になります。
マシンスペック:2vCPU、8GiB
OS : WindowsServer 2008 R2
java : openjdk version "1.8.0_212"
embulk : embulk 0.9.17
embulk-input-ftp : embulk-input-ftp-0.2.0
embulk-output-ftp : embulk-output-ftp-0.2.2

不足情報等あればお気軽に教えていただけますと助かります。

発生している問題・エラーメッセージ

取り込み対象のファイルと出力されるファイルは以下になります。

■取り込み対象のファイル(test_purchase_log_20180802.csv)

time,member_id,goods_id,ship_date,ammount,total 2019-03-18 22:41:22,0001,0001,2019-09-2,3,1000 2019-03-18 22:41:33,0002,0002,2019-09-2,3,1000 2019-03-18 22:41:44,0003,0003,2019-09-2,3,1000 2019-03-18 22:41:55,0001,0003,2019-09-2,1,1000 2019-03-18 22:42:11,0001,0002,2019-09-2,2,1000 2019-03-18 22:42:11,0002,0003,2019-09-2,3,1000

■出力されるファイル1(test000.00.csv)

time,member_id,goods_id,ship_date,ammount,total 2019-03-18 22:41:22.000000 +0000,0001,0001,2019-09-02 00:00:00.000000 +0000,3,1000 2019-03-18 22:41:33.000000 +0000,0002,0002,2019-09-02 00:00:00.000000 +0000,3,1000 2019-03-18 22:41:44.000000 +0000,0003,0003,2019-09-02 00:00:00.000000 +0000,3,1000 2019-03-18 22:41:55.000000 +0000,0001,0003,2019-09-02 00:00:00.000000 +0000,1,1000 2019-03-18 22:42:11.000000 +0000,0001,0002,2019-09-02 00:00:00.000000 +0000,2,1000 2019-03-18 22:42:11.000000 +0000,0002,0003,2019-09-02 00:00:00.000000 +0000,3,1000

■出力されるファイル2(test001.00.csv)

time,member_id,goods_id,ship_date,ammount,total

embulk設定ファイル

embulkの設定ファイルは以下になります。

yml.liquid

in: type: ftp host: xxxxx port: 21 user: xxxxx password: xxxxx path_prefix: /test_purchase_log parser: charset: UTF-8 newline: CRLF type: csv delimiter: ',' quote: '"' escape: '"' trim_if_not_quoted: false skip_header_lines: 1 allow_extra_columns: false allow_optional_columns: false columns: - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'} - {name: member_id, type: string} - {name: goods_id, type: string} - {name: ship_date, type: timestamp, format: '%Y-%m-%d'} - {name: ammount, type: long} - {name: total, type: long} out: type: ftp host: xxxxx port: 21 user: xxxxx password: xxxxx path_prefix: test file_ext: csv formatter: {type: csv, header_line: true}

試したこと

・複数ファイルを入力にする場合は想定通りの動作となります。(inputファイル数=outputファイル数となります。)
・マシンスペックを1vCPU、4GiBにすると1つのファイルへ出力されます。
・マシンスペックを4vCPU、16GiBにすると4つのファイルへ分割されて出力されます。出力された4つのファイルは「test000.00.csv」と「test001.00.csv」、「test002.00.csv」、「test003.00.csv」が出力されます。
「test000.00.csv」と「test001.00.csv」は上記と同じファイルが出力され、「test002.00.csv」、「test003.00.csv」は「test001.00.csv」と同じファイルが出力されます。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Embulk

Embulkは、CSVデータやアクセスログなどの構造化データを高い信頼性で転送することができる、プラグインベースのバルクデータローダーです。