| 入力 | 出力 | エイリアス |
|---|---|---|
| ✔ | ✗ |
説明
Regex フォーマットは、指定された正規表現に基づいて、インポートされたデータの各行を解析します。
使用方法
format_regexp 設定で指定した正規表現が、インポートされたデータの各行に適用されます。正規表現内のサブパターン数は、インポートするデータセットのカラム数と一致している必要があります。
インポートされたデータの各行は、改行文字 '\n' または DOS 形式の改行 "\r\n" で区切られている必要があります。
一致した各サブパターンの内容は、format_regexp_escaping_rule 設定に従って、対応するデータ型のメソッドで解析されます。
正規表現が行に一致せず、かつ format_regexp_skip_unmatched が 1 に設定されている場合、その行は黙ってスキップされます。それ以外の場合は、例外がスローされます。
使用例
data.tsv ファイルについて考えてみましょう。
data.tsv
imp_regex_table テーブル:
Query
Query
SELECT を使ってテーブルからデータを取得し、Regex フォーマットがファイル内のデータをどのようにパースしたかを確認できます。
Query
Response
フォーマット設定
Regexp フォーマットを使用する場合は、次の設定を利用できます。
-
format_regexp— String。re2 フォーマットの正規表現を指定します。 -
format_regexp_escaping_rule— String。次のエスケープ規則をサポートしています。- CSV (CSV と同様)
- JSON (JSONEachRow と同様)
- Escaped (TSV と同様)
- Quoted (Values と同様)
- Raw (サブパターン全体をそのまま抽出します。エスケープ規則はなく、TSVRaw と同様です)
-
format_regexp_skip_unmatched— UInt8。format_regexp式がインポートしたデータに一致しない場合に例外をスローするかどうかを指定します。0または1を設定できます。