# BigQuery - BigQueryへのデータ挿入
BigQueryへのファイルデータの読み込みにより、効率的に数百万行のデータをBigQueryテーブルに挿入することができます。大きなフラットファイルを扱っている場合、この自動化戦略により、テーブルに挿入できる行数と挿入にかかる時間の両方で大幅なパフォーマンス向上が見込めます。
BigQueryコネクターは、ファイルデータをBigQueryに読み込むための2つの方法を提供しています。1つは、レシピの前のステップでダウンロードしたファイルから、もう1つはGoogle Cloud Storageに既に存在するファイルから読み込む方法です。私たちの推奨事項は、まずファイルをGoogle Cloud Storageにアップロードし、それからGoogle Cloud StorageからGoogle BigQueryに読み込むことです。
大量の行を移動するだけでなく、このアクションは、着信するCSVまたはJSONファイルの列数の変更を検知し、BigQueryのテーブルのスキーマを拡張して受け入れることができる強力な機能です。
NOTE
BigQueryは、着信するCSVおよびJSONファイルのスキーマを自動的に検出するため、テーブルのスキーマを指定する必要はありません。ただし、異なる列を持つファイルがある場合は、「必要に応じてテーブルの列を変更しますか?」を使用して、BigQueryにテーブルの列を拡張することができます。
# 入力フィールド
フィールド | 説明 |
---|---|
プロジェクト | クエリの請求先となる接続で利用可能なプロジェクトです。 |
データセット | アクションまたはトリガーがテーブルを取得するデータセットです。 |
テーブル | データセット内のテーブルです。新しいテーブルを作成する場合は、「テーブルIDを入力」に切り替えて、希望するテーブル名を指定します。 |
ソースURI(「Google Cloud StorageからBigQueryにデータを読み込む」アクションのみ) | Google Cloud StorageのファイルのソースURIです。ファイルのソースURIは、gs://[BUCKET_NAME]/[FILE_NAME] の形式に従います。バケット名の後にワイルドカード「*」を使用することもできます。例:gs://my_sample_bucket/bulk_load_*.csv |
ファイルの内容(「BigQueryにデータを読み込む」アクションのみ) | ストリームするファイルの内容です。これは、CSV、Datastoreのバックアップ、改行区切りのJSON、AVRO、PARQUET、ORCの形式で指定できます。 |
ファイルサイズ(「BigQueryにデータを読み込む」アクションのみ) | 読み込まれるファイルの正確なサイズです。これは、データをBigQueryにストリームするために必要です。 |
スキーマ | ファイルのスキーマです。自動検出が「いいえ」に設定されている場合にのみ必要です。 |
自動検出 | CSVおよびJSONファイルにのみ適用されます。BigQueryはファイルを自動的に検査し、ファイルのスキーマを自動的に検出します。 |
必要に応じてテーブルの列を変更しますか? | 着信ファイルが対象テーブルの列と一致しない場合、BigQueryにテーブルのスキーマを更新することを許可します。 |
テーブルの作成方法 | BigQueryにテーブルを作成するか、エラーをスローするかを指定します。 |
書き込み方法 | BigQueryに書き込む前にテーブルを切り捨てるか、データをテーブルの末尾に追加するか、テーブルが既に存在する場合にエラーをスローするかを指定します。 |
宛先テーブル | テーブルが存在しない場合の宛先テーブルのプロパティです。これらの入力を使用して、テーブルの名前、説明、ラベルを設定します。 |
ヌルマーカー | CSVファイル内のヌル値を表す文字列を指定します。たとえば、"\N"を指定すると、BigQueryはCSVファイルを読み込む際に"\N"をヌル値として解釈します。デフォルト値は空の文字列です。 |
フィールド区切り文字 | CSVファイル内のフィールドの区切り文字です。BigQueryは、タブ区切りを指定するためにエスケープシーケンス"\t"もサポートしています。デフォルト値はカンマ(",")です。 |
先頭行をスキップ | 次の値を許可します: - 未指定 - 自動検出は最初の行にヘッダーがあるかどうかを検出しようとします。ヘッダーが検出されない場合、その行はデータとして読み込まれます。それ以外の場合は、2行目からデータが読み込まれます。 - 0 - 自動検出にヘッダーがないことを指示し、最初の行からデータを読み込むようにします。 - N > 0 - 自動検出はN-1行をスキップし、N行でヘッダーを検出しようとします。ヘッダーが検出されない場合、行Nはスキップされます。それ以外の場合、行Nは検出されたスキーマの列名を抽出するために使用されます。 |
エンコーディング | データの文字エンコーディングです。サポートされている値はUTF-8またはISO-8859-1です。デフォルト値はUTF-8です。 |
引用符 | CSVファイル内のデータセクションを引用するために使用される値です。デフォルト値は二重引用符("")です。 データに引用符付きのセクションが含まれていない場合は、プロパティ値を空の文字列に設定します。データに引用符付きの改行文字が含まれている場合は、allowQuotedNewlinesプロパティもtrueに設定する必要があります。 |
最大の不正なレコード数 | ジョブ実行時にBigQueryが無視できる最大の不正なレコード数です。不正なレコードの数がこの値を超えると、ジョブ結果に無効なエラーが返されます。デフォルト値は0です。 |
引用符付き改行を許可するかどうか | BigQueryがCSVファイル内の改行文字を含む引用符付きデータセクションを許可するかどうかを示します。デフォルト値はfalseです。 |
ジャギングされた行を許可するかどうか | CSVおよびJSONソースのオプションとスキーマを自動的に推測するかどうかを示します。 |
Projection Fields | sourceFormatが'DATASTORE_BACKUP'に設定されている場合、Cloud DatastoreバックアップからBigQueryに読み込むエンティティプロパティを示します。プロパティ名は大文字と小文字を区別し、トップレベルのプロパティである必要があります。プロパティが指定されていない場合、BigQueryはすべてのプロパティを読み込みます。Cloud Datastoreバックアップに指定されたプロパティが見つからない場合、ジョブの結果には無効なエラーが返されます。 |
Time Partitioning | 宛先テーブルの時間ベースのパーティショニング仕様。Time partitioningとRange partitioningのうち1つだけを指定する必要があります。 |
Range Partitioning | 宛先テーブルの範囲パーティショニング仕様。Time partitioningとRange partitioningのうち1つだけを指定する必要があります。 |
Clustering | データをクラスタリングするための1つ以上のフィールド。トップレベルで、繰り返しでない単純な型のフィールドのみがサポートされています。クラスタリングフィールドの順序は、フィルタリング目的で最も重要なものから最も重要である必要があります。制限事項の詳細については、こちら (opens new window)を参照してください。 |
Destination table encryption configuration | 宛先のBigQueryテーブルを保護するために使用されるCloud KMS暗号化キーを説明します。プロジェクトに関連付けられたBigQueryサービスアカウントは、この暗号化キーへのアクセス権を持つ必要があります。 |
Use Avro Logical Types | 「はい」を選択した場合、論理型を対応するBigQueryデータ型(例:TIMESTAMP)として解釈するか、生の型(例:INTEGER)を使用するかを示します。 |
Reference File Schema URL | リーダースキーマを持つ参照ファイルを提供します。このファイルはソースURIの一部である場合にのみ読み込まれますが、それ以外の場合は読み込まれません。次の形式で有効です:AVRO、PARQUET、ORC。 |
Hive Partitioning Options | 設定されている場合、Hiveパーティショニングのサポートを構成します。すべてのストレージ形式がHiveパーティショニングをサポートしているわけではなく、サポートされていない形式でHiveパーティショニングを要求するとエラーが発生します。また、無効な仕様を指定するとエラーが発生します。 |
Decimal target types | ソースの10進数値が変換される可能性のあるSQLデータ型のリストを定義します。このリストと10進数フィールドの精度とスケールパラメータによって、ターゲットタイプが決まります。サポートされているタイプは:NUMERIC、BIGNUMERIC、STRINGです。 |
Parquet Options | sourceFormatがPARQUETに設定されている場合に設定する追加のプロパティ。 |
Preserve Ascii Control Characters | sourceFormatがCSVに設定されている場合、埋め込まれたASCII制御文字(ASCIIテーブルの最初の32文字)を保持するかどうかを示します。 |
Chunk size | BigQueryに送信される各パケットのチャンクのサイズ。通常は設定する必要はありません。 |
# 出力フィールド
フィールド | 説明 |
---|---|
ID | 作成されたロードジョブのID |
Kind | 作成されたBigQueryジョブの種類 |
Self link | BigQueryコンソール内のロードジョブへのリンク |
Job reference | 作成されたジョブに関するデータを含む |
State | ジョブが完了しているかどうか。常に「Done」である必要があります |
Statistics | 作成されたロードジョブに関連する統計情報 |
Status | ロードジョブのエラーに関する情報を含む |
User email | ジョブを作成したユーザーのメールアドレス。これは、このWorkato接続に認証されたユーザーのメールアドレスになります。 |
Last updated: 2024/2/13 16:59:53