KARTE Datahubのジョブフロー機能について、Amazon S3からCSVファイルをインポートするジョブの仕様変更を予定しています。
Amazon S3とのデータ連携機能について
仕様変更について
ジョブフローを使ったAmazon S3からのCSVファイルインポート機能について、次のような仕様変更を予定しています。
従来の仕様
従来、S3上のヘッダ行無しCSVファイルのインポートは暗黙的にサポートされていました。
そのため、S3上にある「ヘッダ行有り」のCSVファイルも「ヘッダ行無し」のCSVファイルも、Datahubのジョブフローではデータ行の全件データを問題なく取り込めていました。
一方で、Google Cloud Storage(GCS)やSFTPサーバー上のファイルについては、「ヘッダ行無し」のCSVファイルはサポートされず、インポート時にデータ行の1行目が欠損する仕様となっていました。
新仕様
今回、GCSやSFTPサーバーとの連携仕様と同様にする形で、S3との連携仕様も次のように変更します。
- S3上のCSVファイルのインポート仕様
- ヘッダ行無しCSVファイルの1行目は欠損「する」ことがある
- つまり、データ行が1行少なく取り込まれることがある
- ヘッダ行有りCSVファイルのヘッダ行はスキップ「される」
- つまり、データ行のみを全件取り込める
- ヘッダ行無しCSVファイルの1行目は欠損「する」ことがある
※厳密には、S3上の1GB以下のファイルについてのみ新仕様が適用されます。つまり、ファイルサイズに依らずヘッダ行有りCSVファイルは常にサポートされます。
変更の理由
仕様変更の理由は次の通りです。
- S3上のファイルをインポートするジョブについては、GCS上のファイルをインポートする場合に比べてジョブ実行完了までの所要時間が長かったため、GCS連携と一部の処理を共通化しジョブ実行を高速化したいから
- 連携先のストレージの種類によってインポート可能なCSVファイルの仕様に違いがあり、仕様がわかりにくかったため統一したいから
移行について
移行対象
Datahubで次のようなCSVファイルをAmazon S3を介して連携している場合、そのCSVファイルは今回の仕様変更の移行対象となります。
- S3上に出力される、「ヘッダ行無し」で1行目からデータ行が格納されるCSVファイル
移行方法
S3上に配置するCSVファイルの作成方法を修正していただき、CSVファイルの1行目にヘッダ行を含めるように変更してください。
移行例
- before
u001,42,北海道
u002,24,岩手県
u002,25,東京都
u003,64,大阪府
u004,52,鹿児島県
- after
user_id,age,pref
u001,42,北海道
u002,24,岩手県
u002,25,東京都
u003,64,大阪府
u004,52,鹿児島県
移行スケジュール
- 仕様変更のタイミングは、2022年3月末を予定しています
- それ以降は、S3上のヘッダ行無しCSVファイルをインポートした場合に1行目が欠損する場合があります
FAQ
Q. S3上のヘッダ行無しCSVファイルをインポートした場合、ジョブはエラーになりますか?
- ジョブ自体はエラーにならず、暗黙的に1行目の読み込みがスキップされることがあります