入力ファイル形式の設定について
  • 07 Mar 2024
  • ダーク
    ライト
  • PDF

入力ファイル形式の設定について

  • ダーク
    ライト
  • PDF

Article Summary

概要

転送元ファイル・ストレージ系コネクタでは、転送設定のSTEP1にて入力ファイル形式を設定し、STEP2の入力オプションにて入力ファイルに対する詳細設定を行うことができます。
本ページでは、troccoが対応する入力ファイル形式とコネクタ、および入力オプションの各種設定項目について説明します。

入力ファイル形式

転送設定編集のSTEP1にて、以下から選択できます。

  • CSV/TSV
  • JSON Lines
  • JSONPath
  • LTSV
  • Microsoft Excel(xlsxまたはxlsファイル)
  • XML(β版)
XMLファイルの転送について

XMLファイル形式の転送機能は、β版でのご提供となっています。
正式版リリース時には、仕様が変更される可能性があります。

本記事の対象となるコネクタ

設定項目

入力ファイル形式によって、設定項目は異なります。

CSV/TSV

Embulkのcsv-parser-pluginを使用しています。

STEP2 入力オプション

項目名デフォルト値説明
区切り文字,CSVデータの区切り文字を設定します。
引用符"引用符を設定できます。
エスケープ文字\エスケープ文字を設定できます。
NULLに置換される文字列設定しないNULLに置換する文字列を設定できます。
設定するを選択すると、置換対象の文字列を入力できます。
スキップするヘッダー行数0何番目の行までをスキップするか設定します。
たとえば、1行目が項目名になっていて、項目名の行を転送データに含めたくない場合は、1を設定してください。
引用符がない場合に値から空白を取り除くいいえ引用符がない場合に値から空白を取り除くかどうかを設定できます。
イレギュラーなクオートの処理方式ACCEPT_ONLY_RFC4180_ESCAPEDクオート付きフィールド内にイレギュラーなクオートが存在した場合の処理方法を設定します。
詳しくは、csv-parser-pluginquotes_in_quoted_fieldsを参照ください。
コメントラインマーカー-ここで設定した文字が行のはじめにあったら、その行をスキップします。
カラム数が減っている行の処理不正なレコードとして処理する不正なレコードとして処理するを選択した場合、カラム数が不足しているレコードが存在したときに、該当する行の処理をスキップします。
足りないカラムをNULL補完するを選択した場合、カラム数が不足しているレコードが存在したときに、NULL値を補完して処理を続行します。
カラム数が増えている行の処理不正なレコードとして処理する不正なレコードとして処理するを選択した場合、カラム数が超過しているレコードが存在したときに、該当する行の処理をスキップします。
カラムを無視して処理を選択した場合、カラム数が超過しているレコードが存在したときに、あふれた列を無視して処理を続行します。
引用符で囲める最大データ量131072引用符で囲める最大データ量(byte単位)を設定します。
ここで設定した値より大きなデータ量のものが存在した場合は、その行の処理をスキップします。
不正なレコードが存在した場合に転送を中止するかどうか転送を中止する転送を中止するを選択した場合、不正なレコードが存在したときに、転送を中止します。
処理を続行を選択した場合、不正なレコードが存在したときに、NULL値を補完して処理を続行します。
デフォルトのタイムゾーンUTC読み込んだデータ自体にタイムゾーンに関する情報がない場合に、タイムスタンプ型の列で用いるタイムゾーンを設定できます。
日付初期設定1970-01-01日付列で、日付が認識できなかった場合のデフォルト値を設定できます。
改行CRLF改行に関するルールをCRLF、LF、CRの中から設定します。
文字エンコーディング-文字エンコーディングの方式を設定できます。
未入力の場合は、自動データ設定時に自動的に推測されます。

JSON Lines

embulk-parser-jsonlを使用しています。

STEP2 入力オプション

項目名デフォルト値説明
不正なレコードが存在した場合に転送を中止するかどうか転送を中止する転送を中止するを選択した場合、不正なレコードが存在したときに、転送を中止します。
処理を続行を選択した場合、不正なレコードが存在したときに、NULL値を補完して処理を続行します。
デフォルトのタイムゾーンUTC読み込んだデータ自体にタイムゾーンに関する情報がない場合に、タイムスタンプ型の列で用いるタイムゾーンを設定できます。
改行CRLF改行に関するルールをCRLF、LF、CRの中から設定できます。
文字エンコーディング-文字エンコーディングの方式を設定できます。
未入力の場合は、自動データ設定時に自動的に推測されます。

JSONPath

embulk-parser-jsonpathを使用しています。

STEP1 基本設定

項目名デフォルト値説明
JSONPath-JSONPathの書き方については、Operatorsを参照ください。
※全指定する場合は$.*と指定してください。

STEP2 入力オプション

項目名デフォルト値説明
ルート-STEP1 基本設定の「JSONPath」と同様の設定です。
デフォルトのタイムゾーンUTC読み込んだデータ自体にタイムゾーンに関する情報がない場合に、タイムスタンプ型の列で用いるタイムゾーンを設定できます。

LTSV

STEP2 入力オプション

項目名デフォルト値説明
改行CRLF改行に関するルールをCRLF、LF、CRの中から設定できます。
文字エンコーディング-文字エンコーディングの方式を設定できます。
未入力の場合は、自動データ設定時に自動的に推測されます。

Microsoft Excel

embulk-parser-poi_excelを使用しています。

STEP1 基本設定

項目名デフォルト値説明
シート名-転送対象のシート名を入力します。
スキップするヘッダー行数1何番目の行までをスキップするか設定します。
たとえば、1行目が項目名になっていて、項目名の行を転送データに含めたくない場合は、1を設定してください。
カラム設定-カラム名・カラム型・値の取得方法を設定します。
値の取得方法について、
  • キャッシュ利用を選択した場合
    • Excelファイルがローカルで保存された時点での計算結果を利用するため、転送処理が高速化されます。
  • 転送時再計算を選択した場合
    • 転送時にセル内の数式を再計算します。
日時カラムのタイムゾーンAsia/Tokyoタイムスタンプ型の列で用いるタイムゾーンを設定できます。
計算結果が都度異なる関数

カラム設定の値の取得方法にてキャッシュ利用を選択した場合、Excelファイルがローカルで保存された時点での値を利用して転送を行います。
そのため、日付/時刻関数(例:TODAY関数)や乱数生成関数(例:RAND関数)といった都度計算結果が変化する関数は、転送実行時に再計算されません。ご注意ください。

転送実行時にセル内の数式を再計算する必要がある場合は、転送時再計算を選択してください。

XML(β版)

embulk-parser-xmlを使用しています。

STEP1 基本設定

項目名デフォルト値説明
ルートのパス(XPath形式)-Xpathの探索の基準となるノードへのルートパスを入力します。
XMLファイル内のすべてのノードを探索対象としたい場合は、/を入力してください。
カラム設定-取得したいノードのパスをXpath形式で入力します。
XPathの記法については、XPath Syntaxを参照ください。
カラム型は以下から選択できます。
  • string
  • long
  • timestamp
  • double
  • boolean
  • json
  • timestampを選択した場合は、フォーマットおよびタイムゾーンも入力してください。
    XML名前空間について

    XML名前空間で定義した接頭辞と組み合わせたパスを指定することはできません。


    この記事は役に立ちましたか?