DataWorks は、BigQuery データソースからデータを読み取るための BigQuery Reader を提供します。コードレス ユーザーインターフェース(UI)またはコードエディターを使用して、BigQuery データソースの同期タスクを設定できます。このトピックでは、BigQuery データソースからのデータ同期の機能について説明します。
サポートされている BigQuery のバージョンとリージョン
BigQuery は SDK
google-cloud-bigquery 2.29.0を使用します。BigQuery でサポートされている SDK 機能の詳細については、BigQuery 公式ドキュメントをご参照ください。BigQuery データソースは、次のリージョンでサポートされています。
中国(香港)、日本(東京)、シンガポール、マレーシア(クアラルンプール)、インドネシア(ジャカルタ)、ドイツ(フランクフルト)、英国(ロンドン)、米国(シリコンバレー)、米国(バージニア)。
データ型のマッピング
BigQuery データ型の詳細については、BigQuery 公式ドキュメントをご参照ください。次の表に、BigQuery の主要なデータ型のサポート状況を示します。
BigQuery データ型 | Java データ型 |
BOOL | Bool |
INT64 | Long |
FLOAT64 | BigDecimal |
NUMERIC | BigDecimal |
BIGNUMERIC | BigDecimal |
STRING | String |
BYTES | Bytes |
STRUCT | String |
ARRAY | String |
TIMESTAMP | Date |
DATE | Date |
TIME | Date |
DATETIME | Date |
GEOGRAPHY | String |
JSON | String |
INTERVAL | String |
BigQuery データソースと Data Integration 専用リソースグループ間のネットワーク接続を確立する
Data Integration で BigQuery データソースをデータ同期に使用する前に、Data Integration 専用リソースグループとデータソース間のネットワーク接続を確立して、リソースグループが内部ネットワークアドレス経由でデータソースにアクセスできるようにする必要があります。詳細については、リソースグループとデータソース間のネットワーク接続を確立するをご参照ください。
データ同期タスクを開発する
データ同期タスクの設定のエントリポイントと手順については、以下のサブセクションを参照してください。パラメーター設定の詳細については、タスクの設定タブにある各パラメーターの情報ヒントを表示してください。
データソースを追加する
特定のデータソースとの間でデータを同期するデータ同期タスクを設定する前に、DataWorks にデータソースを追加する必要があります。詳細については、データソースを追加および管理するをご参照ください。
BigQuery データソースを追加する場合は、次の項目を設定する必要があります。
BigQuery プロジェクト ID:Google Cloud の BigQuery プロジェクトの名前。
BigQuery 認証:Google Cloud の認証ファイルをアップロードする必要があります。
単一テーブルのデータを同期するバッチ同期タスクを設定する
設定手順の詳細については、コードレス UI を使用してバッチ同期タスクを設定するおよびコードエディターを使用してバッチ同期タスクを設定するをご参照ください。
コードエディターを使用してバッチ同期タスクを設定する場合に設定されるすべてのパラメーターと実行されるコードについては、付録:コードとパラメーターをご参照ください。
付録:コードとパラメーター
コードエディターを使用してバッチ同期タスクを設定する
コードエディターを使用してバッチ同期タスクを設定する場合は、コードエディターの形式要件に基づいて、関連データソースのリーダーのパラメーターを設定する必要があります。形式要件の詳細については、コードエディターを使用してバッチ同期タスクを設定するをご参照ください。次の情報は、コードエディターのリーダーのパラメーターの設定の詳細について説明しています。
BigQuery Reader のコード
{
"stepType": "bigquery"
"parameter":
{
"datasource":"bq_test1",
"table": "partition_1107",
"where": "xxx=3",
"dataSet": "database_0724",
"partition": [
"_PARTITIONTIME='2023-11-07'"
],
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Reader",
"category": "reader"
}BigQuery Reader のコードのパラメーター
パラメーター | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。追加されたデータソースの名前と同じである必要があります。コードエディターを使用してデータソースを追加できます。 | はい | デフォルト値なし |
dataset | BigQuery データセット。 | はい | デフォルト値なし |
table | データを読み取るテーブルの名前。 | はい | デフォルト値なし |
column | データを読み取るフィールドの名前。名前はコンマ(,)で区切ります。例:"column": ["id", "name", "age"]。 | はい | デフォルト値なし |
where | データをフィルタリングするために使用される WHERE 句。BigQuery Reader は、column、table、where パラメーターの値を連結して SQL ステートメントを形成し、その SQL ステートメントを実行してソーステーブルからデータを読み取ります。たとえば、テストを実行するときは、where パラメーターを 現在の日付に生成されたデータを読み取るには、where パラメーターを
| いいえ | デフォルト値なし |
partition | データを読み取るパーティションの名前。一度に複数のパーティション名を指定できます。 | いいえ | デフォルト値なし |
splitPk | partition パラメーターが設定されている場合、splitPk パラメーターは有効になりません。splitPk パラメーターを設定すると、splitPk パラメーターで指定したフィールドに基づいてデータがシャーディングされます。その後、Data Integration は並列スレッドを実行してデータを読み取ります。これにより、データの同期をより効率的に行うことができます。 | いいえ | デフォルト値なし |