テンプレートETL

Prev Next

概要

転送設定のSTEP2 詳細設定で設定できるテンプレートETLの各項目について説明するDocsです。

カラム定義

STEP1で設定した転送元から取得したデータから、列の絞り込みや追加を行い、転送する列を指定します。
元カラムに対して、以下の変更が可能です。

  • カラム名
  • データ型
  • デフォルト値
  • 日時フォーマット(日時データの場合)

転送元のカラムに変更があった場合は、カラム定義を再読み込みをクリックすることで最新の定義に更新できます。
詳しくは、カラム定義を再読み込みを参照ください。

template-etl-2024-08-29-22-47-0

JSONカラムを展開

転送元から取得してきたデータのうちフィールドにJSON型の値が格納されている場合、カラム定義の中でJSONカラムを展開を選択できます。
JSONに格納されているデータに対して、カラム名・JSONパス・データ型・日付フォーマット・タイムゾーンを指定することによって、カラムとして展開します。
展開後のカラム名は、他のカラム名と重複しないユニークな値を入力してください。

template-etl-2024-08-29-22-47-1

なお、JSON内に配列が含まれている場合の値の取得については、転送元カラムのJSONに配列が含まれていた際、要素を指定して値を取得する方法を参照ください。

カラム名・データ型の一括変換

選択したカラムの命名規則、およびデータ型を一括で変換できます。
各カラム左側にあるチェックボックスを選択し、一括変換をクリックすると、一括変換のためのダイアログが表示されます。

image.png

なお、データ型の変換は、以下の型の変換に対応しています。

  • STRING型
  • LONG型
  • TIMESTAMP型
  • DOUBLE型
  • BOOLEAN型
  • JSON型

カラム名規則の変換

以下の4種類から選択できます。

変換形式 変換例 概要
大文字変換 AccountId -> ACCOUNTID
account_id -> ACCOUNT_ID
小文字を大文字に変換します。
ハイフン(-)やアンダースコア(_)といった記号文字は維持されます。
スネークケース(snake_case)変換 AccountId -> account_id
account id -> account_id
キャメルケースをスネークケースに変換します。
大文字はすべて小文字に変換されます。
なお、半角スペースもアンダースコア(_)に変換されます。
アッパースネークケース(UPPER_SNAKE_CASE)変換 AccountId -> ACCOUNT_ID
account id -> ACCOUNT_ID
キャメルケースをスネークケースに変換します。
小文字はすべて大文字に変換されます。
なお、半角スペースもアンダースコア(_)に変換されます。
サニタイズ(Google BigQueryカラム名互換)変換 account.id-> account_id
account id -> account_id
Google BigQueryのカラム名規則に即した形で変換します。
ドット(.)やハイフン(-)といった記号文字および半角スペースは、アンダースコア(_)に変換されます。
なお、日本語などのマルチバイト文字もアンダースコア(_)に変換されます。ご注意ください。

カラム定義の一括編集

カラム定義をTSV形式でダウンロードし、表計算ソフトで編集した内容を取り込めます。
日本語のカラム名を英語に置き換えるなど、多数のカラムをまとめて編集する場合にご利用ください。

編集手順

  1. カラム定義のTSVをダウンロードをクリックします。現在のカラム定義がcolumn_definitions_<転送設定ID>.tsvとしてダウンロードされます。
  2. ダウンロードしたTSVファイルを表計算ソフトで開き、カラム定義を編集します。各列の仕様は、TSVの列を参照ください。
  3. 編集したデータをヘッダー行を含めてすべて選択し、コピーします。
  4. カラム定義のTSVから取り込みをクリックします。
  5. 表示されたダイアログのテキストエリアに、コピーしたデータを貼り付けます。貼り付けた内容をもとに、取り込み後のカラム定義がプレビューされます。
  6. プレビューの内容を確認し、取り込むをクリックします。

取り込むと、画面上のカラム定義が貼り付けた内容ですべて置き換えられます。
取り込んだ時点ではカラム定義は保存されません。転送設定を保存してください。

貼り付け時の注意

TSVに含まれていないカラムは、カラム定義から削除されます。
カラムを削除しない場合は、ダウンロードしたTSVのすべての行を貼り付けてください。

TSVの列

TSVの1行目はヘッダー行です。2行目以降の1行が、カラム定義の1カラムに対応します。
JSONカラムを展開している場合は、展開後のカラムも1行として出力されます。

TSVの列は、通常のカラムとJSON展開カラムの両方で利用する列、通常のカラムでのみ利用する列、JSON展開カラムでのみ利用する列の3種類に分かれます。

両方で利用する列

ヘッダー名 対応する項目(通常のカラム) 対応する項目(JSON展開カラム) 説明
name カラム名 カラム名 カラム名を入力します。
type データ型 データ型 データ型を以下から入力します。
  • string
  • long
  • timestamp
  • double
  • boolean
  • json
JSON展開カラムの場合はjsonを指定できません。
format 日時フォーマット 日付フォーマット 日時フォーマットを入力します。
typeがtimestampの場合のみ有効です。

通常のカラムでのみ利用する列

JSON展開カラムの行では空欄にしてください。

ヘッダー名 対応する項目 説明
src 元カラム 元カラム名を入力します。転送元に存在するカラム名を入力してください。
空欄の場合は、転送元に存在しないカラムを新規追加する扱いとなります。
default デフォルト値 デフォルト値を入力します。
has_parser - ダウンロードした値を変更せずに利用します。
json_expand_enabled JSONカラムを展開 JSONカラムを展開するかをtrueまたはfalseで指定します。
typeがjsonの行では必須です。
typeがjson以外の行ではtrueを指定できません。
json_expand_keep_base_column 展開前のJSONカラムも転送する JSONカラムを展開する場合に、展開前のJSONカラムも転送するかをtrueまたはfalseで指定します。
typeがjson以外の行ではtrueを指定できません。

JSON展開カラムでのみ利用する列

通常のカラムの行では空欄にしてください。

ヘッダー名 対応する項目 説明
parent_name - 展開元のJSONカラムのnameの値を入力します。
この列に値が入力された行は、JSON展開カラムとして扱われます。
json_path JSONパス JSONパスを入力します。必須です。
timezone タイムゾーン タイムゾーンを入力します。
typeがtimestampの場合のみ有効です。

フィルター設定

データの行を絞り込むための条件を、AND条件かOR条件で設定します。
対象カラム名とフィルター値を指定し、対象カラムの値が条件に一致する行のみ転送できます。
以下の演算子を選択できます。

  • >:対象カラムの値がフィルター値より大きい行
  • >=:対象カラムの値がフィルター値以上の行
  • <:対象カラムの値がフィルター値未満の行
  • <=:対象カラムの値がフィルター値以下の行
  • ==:対象カラムの値がフィルター値と等しい行
  • !=:対象カラムの値がフィルター値と異なる行
  • start_with:対象カラムの値がフィルター値の文字列から始まる行
  • end_with:対象カラムの値がフィルター値の文字列で終わる行
  • include:対象カラムの値がフィルター値の文字列を含む行
  • IS NULL:対象カラムの値がNULLである行
  • IS NOT NULL:対象カラムの値がNULLでない行
  • REGEXP:対象カラムの値がフィルター値の正規表現にパターンマッチする行

template-etl-2024-08-29-22-47-3

マスキング設定

指定したフィールドの指定した部分を * で置換します。
個人情報など元データのまま転送したくない列を、マスキングした状態で転送できます。
マスキングのタイプは4種類あり、それぞれ以下の通りです。

タイプ 説明
全文字列 すべて * で置換します。
メールアドレス @マークまでを * で置換します。
正規表現 正規表現パターンにマッチした箇所を * で置換します。
部分文字列 開始位置・終了位置を指定して、* で置換します。

template-etl-2024-08-29-22-47-4

転送日時カラム設定

転送ジョブ実行の開始日時を記録するカラムを追加する場合に設定します。
転送ジョブを実行した日時によるパーティショニングやシャーディングテーブル化をする場合にご利用ください。

転送日時カラムを追加する場合は、転送日時カラムの追加にチェックを入れて、下記項目で出力形式を指定してください。

image.png

項目名 説明
追加するカラム名 転送日時を出力するカラム名を入力します。
データ型 データ型を以下から選択します。
  • timestamp
  • string
フォーマット 出力する転送日時のフォーマットを指定します。
データ型でstringを選択した場合のみ指定可能です。
データ型でtimestampを選択した場合は、固定で%Y-%m-%d %H:%M:%S.%N %Zとなります。

timestamp型のタイムゾーン指定子(%Z)の扱い方は転送先のサービスによって異なります。
プレビューに表示される形式(例:2023-12-01 15:30:45 UTC)と転送されたタイムスタンプの表示形式は異なる場合があります。
タイムゾーン 出力する転送日時のタイムゾーンを選択します。
データ型でstringを選択した場合のみ選択可能です。
  • Etc/UTC
  • Asia/Tokyo

  • 例:Asia/Tokyoを選択した場合
  • フォーマットの%ZにはJSTが展開される
  • フォーマットの%zには+0900(Etc/UTCとの時差)が展開される

データ型でtimestampを選択した場合は、固定でEtc/UTCとなります。

文字列 正規表現置換

特定のカラムで、指定した正規表現にマッチする部分を別の文字列に置換します。
表記ゆれ修正のためにスペースや記号を削除するなど、データの整形で利用できる機能です。
詳しくは、文字列正規表現置換についてを参照ください。

カラムハッシュ化

個人情報など元データのまま転送したくない列を、SHA-256でハッシュ化したものに変換して転送します。
厳密には暗号化ではない点についてご留意ください。

文字列変換

対象カラム名と変換方法を指定して、String型の文字列を変換します。
全角英数字を半角にしたり、半角カナを全角にするなどの正規化ができます。
詳しくは、文字列変換機能についてを参照ください。

UNIX時間変換

対象カラム名と変換方法を指定して、UNIX時間と日時形式を変換します。

項目名 説明
対象カラム名 UNIX時間変換を適用するカラム名を入力します。
カラム定義で設定したカラム名を入力してください。
変換方法 変換方法を以下から選択します。
  • 「UNIX時間 -> 日時(TIMESTAMP型)」
  • 「UNIX時間 -> 日時(STRING型)」
  • 「日時(TIMESTAMP型) -> UNIX時間」
  • 「日時(STRING型) -> UNIX時間」
指定値によって後続の設定項目が異なります。
それぞれ変換方法を「UNIX時間 -> 日時」にした場合と変換方法を「日時 -> UNIX時間」にした場合を参照ください。

変換方法を「UNIX時間 -> 日時」にした場合

変更方法で「UNIX時間 -> 日時(TIMESTAMP型)」または「UNIX時間 -> 日時(STRING型)」を選択した場合の設定項目です。

項目名 説明
変換前のUNIX時間の単位 変換前のUNIX時間の単位を以下から選択します。
  • 秒
  • ミリ秒
  • マイクロ秒
  • ナノ秒
変換後のフォーマット 変換後の日時フォーマットを指定します。
変換方法で「UNIX時間 -> 日時(STRING型)」を選択した場合のみ指定可能です。
変換方法で「UNIX時間 -> 日時(TIMESTAMP型)」を選択した場合は、固定で%Y-%m-%d %H:%M:%S.%N %Zとなります。

TIMESTAMP型のタイムゾーン指定子(%Z)の扱い方は転送先のサービスによって異なります。
プレビューに表示される形式(例:2023-12-01 15:30:45 UTC)と転送後されたタイムスタンプの表示形式は異なる場合があります。
変換後のタイムゾーン 変換後の日時のタイムゾーンを選択します。
変換方法で「UNIX時間 -> 日時(STRING型)」を選択した場合のみ選択可能です。
変換方法で「UNIX時間 -> 日時(TIMESTAMP型)」を選択した場合は、固定でEtc/UTCとなります。

変換方法を「日時 -> UNIX時間」にした場合

変更方法で「日時(TIMESTAMP型) -> UNIX時間」または「日時(STRING型) -> UNIX時間」を選択した場合の設定項目です。

項目名 説明
変換前のフォーマット 変換前の日時フォーマットを指定します。
変換方法で「日時(STRING型) -> UNIX時間」を選択した場合のみ指定可能です。
データ型で「UNIX時間 -> 日時(TIMESTAMP型)」を選択した場合は、固定で%Y-%m-%d %H:%M:%S.%N %Zとなります。
変換前のタイムゾーン 変換前の日時のタイムゾーンを選択します。
変換方法で「日時(STRING型) -> UNIX時間」を選択した場合のみ選択可能です。
データ型で「UNIX時間 -> 日時(TIMESTAMP型)」を選択した場合は、固定でEtc/UTCとなります。
変換後のUNIX時間の単位 変換後のUNIX時間の単位を以下から選択します。
  • 秒
  • ミリ秒
  • マイクロ秒
  • ナノ秒