Google BigQuery - Google BigQueryへのデータの挿入
Google BigQueryのInsertアクションを使用すると、数百万行をGoogle BigQueryテーブルに効率的に挿入できます。 大きなフラットファイルを扱う場合、この自動化戦略により、テーブルに挿入できる行数と、それらの行の挿入にかかる時間について、大幅なパフォーマンス向上を実現できます。
Google BigQueryコネクターには、ファイルデータをGoogle BigQueryにロードする方法が2つあります。 以前のレシピステップでダウンロードしたファイル、またはGoogle Cloud Storageにすでに存在するファイルから、ファイルデータをロードできます。 Workatoでは、Google Cloud StorageからGoogle BigQueryにファイルをロードする前に、ファイルをGoogle Cloud Storageにアップロードすることをお勧めします。
大量の行を移動するだけでなく、これは受信CSVまたはJSONファイル内の列数の変更を検知し、それを受け入れるようGoogle BigQueryのテーブルスキーマを拡張できる強力なアクションです。
INFO
Google BigQueryは受信CSVおよびJSONファイルのスキーマを検出できるため、テーブルスキーマを指定する必要はありません。 ファイルに宛先テーブルと異なる列が含まれている場合、必要に応じてテーブル列を変更しますか?フィールドを設定して、Google 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 backup、New line delimited JSON、AVRO、PARQUET、ORCのいずれかです。 |
| ファイルサイズ(BigQueryにデータをロードアクションのみ) | ロードするファイルの正確なファイルサイズを指定します。 これは、データをBigQueryにストリーミングするために必要です。 |
| スキーマ | ファイルのスキーマを入力します。 AutodetectがNoに設定されている場合にのみ必要です。 |
| 自動検出 | CSVおよびJSONファイルにのみ適用されます。 Google BigQueryはファイルを検査し、ファイルのスキーマを自動的に検出します。 |
| 必要に応じてテーブル列を変更しますか? | 受信ファイルがターゲットテーブルの列と一致しない場合に、Google BigQueryがテーブルのスキーマを更新できるようにします。 |
| 作成処理 | 必要に応じてテーブルを作成するか、エラーをスローするかをGoogle BigQueryに指示します。 |
| 書き込み処理 | 書き込み前にテーブルを切り捨てるか、データをテーブルの末尾に追加するか、テーブルがすでに存在する場合にエラーをスローするかをGoogle BigQueryに指示します。 |
| 宛先テーブル | 宛先テーブルが存在しない場合は、そのプロパティを選択します。 これらの入力を使用して、テーブルに付加される名前、説明、およびラベルを設定します。 |
| Null Marker | CSVファイル内のnull値を表す文字列を指定します。 たとえば、\Nを指定すると、Google BigQueryはCSVファイルのロード時に\Nをnull値として解釈します。 デフォルト値は空の文字列です。 |
| フィールド区切り文字 | CSVファイル内のフィールドの区切り文字を選択します。 Google BigQueryは、タブ区切り文字を指定するためのエスケープシーケンス\tもサポートしています。 デフォルト値はカンマ,です。 |
| 先頭行をスキップ | 次の値を使用できます: - 未指定:Autodetectは最初の行でヘッダーの検出を試みます。 検出されない場合、その行はデータとして読み取られます。 検出された場合、データは2行目から読み取られます。 - 0:ヘッダーが存在せず、データは1行目から読み取る必要があることを自動検出に指示します。 - N > 0:AutodetectはN-1行をスキップし、N行目でヘッダーの検出を試みます。ヘッダーが検出されない場合、N行目は単にスキップされます。 検出された場合、N行目は検出されたスキーマの列名を抽出するために使用されます。 |
| encoding | データの文字エンコードを選択します。 サポートされる値はUTF-8またはISO-8859-1です。 デフォルト値はUTF-8です。 |
| quote | CSVファイル内のデータセクションを引用符で囲むために使用する値を入力します。 デフォルト値は二重引用符("")です。 データに引用符で囲まれたセクションが含まれていない場合は、プロパティ値を空の文字列に設定します。 データに引用符で囲まれた改行文字が含まれている場合は、allowQuotedNewlinesプロパティもtrueに設定する必要があります。 |
| 不正レコードの最大数 | ジョブの実行時にGoogle BigQueryが無視できる不正レコードの最大数を入力します。 不正レコードの数がこの値を超えると、ジョブ結果に無効エラーが返されます。 デフォルト値は0です。 |
| 引用符付き改行を許可 | CSVファイル内で、改行文字を含む引用符で囲まれたデータセクションをGoogle BigQueryが許可するかどうかを示します。 デフォルト値はfalseです。 |
| 不揃いな行を許可 | CSVおよびJSONソースのオプションとスキーマを自動的に推測するかどうかを示します。 |
| 不明な値を無視 | テーブルスキーマで表されていない追加の値をGoogle BigQueryが許可するかどうかを示します。 trueの場合、追加の値は無視されます。 falseの場合、追加の列を含むレコードは不正レコードとして扱われます。 デフォルト値はfalseです。 |
| 投影フィールド | sourceFormatが'DATASTORE_BACKUP'に設定されている場合に、Cloud DatastoreバックアップからGoogle BigQueryにロードするエンティティプロパティを指定します。 プロパティ名では大文字と小文字が区別され、最上位プロパティである必要があります。 プロパティが指定されていない場合、Google BigQueryはすべてのプロパティをロードします。 名前付きプロパティのいずれかがCloud Datastoreバックアップで見つからない場合、ジョブ結果に無効エラーが返されます。 |
| 時間パーティショニング | 宛先テーブルの時間ベースのパーティショニング仕様を入力します。 Time partitioningとRange partitioningのうち、指定できるのは1つのみです。 |
| 範囲パーティショニング | 宛先テーブルの範囲パーティショニング仕様を入力します。 Time partitioningとRange partitioningのうち、指定できるのは1つのみです。 |
| クラスタリング | データをクラスタリングする1つ以上のフィールドを選択します。 最上位、非反復、単純型のフィールドのみがサポートされます。 クラスタリングフィールドの順序は、フィルタリング目的で最も重要なものから最も重要でないものへと優先順位を付ける必要があります。 詳細については、Googleのドキュメントのクラスタ化テーブルの制限を参照してください。 |
| 宛先テーブルの暗号化設定 | 宛先Google BigQueryテーブルの保護に使用されるCloud KMS暗号化キーについて説明します。 プロジェクトに関連付けられたGoogle BigQuery Service Accountには、この暗号化キーへのアクセス権が必要です。 |
| Avro論理型を使用 | Yesを選択すると、アクションは未加工の型(例:INTEGER)を使用する代わりに、論理型を対応するGoogle BigQueryデータ型(例:TIMESTAMP)として解釈します。 |
| 参照ファイルスキーマURL | リーダースキーマを含む参照ファイルを指定します。 このファイルはソースURIの一部である場合にのみロードされ、それ以外の場合はロードされません。 次の形式で有効です:AVRO、PARQUET、ORC。 |
| Hiveパーティショニングオプション | 設定すると、このフィールドはHiveパーティショニングサポートを設定します。 すべてのストレージ形式がHiveパーティショニングをサポートしているわけではなく、サポートされていない形式でHiveパーティショニングを要求したり、無効な仕様を指定したりすると、エラーになります。 |
| Decimalターゲット型 | ソースの10進値の変換先となる可能なSQLデータ型のリストを定義します。 このリストと10進フィールドの精度およびスケールパラメーターによって、ターゲット型が決まります。 サポートされる型:NUMERIC、BIGNUMERIC、STRING |
| Parquetオプション | sourceFormatがPARQUETに設定されている場合に設定する追加プロパティを選択します。 |
| ASCII制御文字を保持 | sourceFormatがCSVに設定されている場合、埋め込まれたASCII制御文字(ASCIIテーブルの最初の32文字)を保持するかどうかを示します |
| チャンクサイズ | Google BigQueryに送信される各パケット内のチャンクサイズを入力します。 |
出力
| 出力フィールド | 説明 |
|---|---|
| ID | 作成されたロードジョブのID。 |
| 種類 | 作成されたGoogle BigQueryジョブの種類。 |
| セルフリンク | Google BigQueryコンソール内のロードジョブへのリンク。 |
| ジョブ参照 | 作成されたジョブに関するデータが含まれます。 |
| 状態 | ジョブが完了したかどうか。 常にDoneである必要があります |
| 統計 | 作成されたロードジョブに関連付けられた統計。 |
| Status | ロードジョブのエラーに関する情報が含まれます。 |
| ユーザーのメールアドレス | ジョブを作成したユーザーのメール。 これは、このWorkatoコネクションに認証されたユーザーのメールです。 |
Last updated: