BigQuery データの準備の概要
このドキュメントでは、BigQuery での AI を活用したデータ準備について説明します。データ準備は BigQuery リソースであり、Gemini in BigQuery を使用してデータを分析し、データのクリーニング、変換、拡充に関するインテリジェントな提案を提供します。手動によるデータ準備タスクに費やす時間と労力を大幅に削減できます。データ準備のスケジューリングは Dataform によって行われます。
利点
- Gemini が生成したコンテキスト対応の変換候補を使用すると、データ パイプラインの開発にかかる時間を短縮できます。
- 生成された結果をプレビューで検証し、自動スキーマ マッピングを使用してデータ品質のクリーンアップと拡充の候補を受け取ることができます。
- Dataform を使用すると、継続的インテグレーションと継続的開発(CI / CD)プロセスを使用して、コードレビューとソース管理に必要なチーム間のコラボレーションをサポートできます。
データ準備のエントリ ポイント
データ準備は [BigQuery Studio] ページで作成、管理できます(BigQuery でデータ準備エディタを開くをご覧ください)。
BigQuery データ準備でテーブルを開くと、認証情報を使用して BigQuery ジョブが実行されます。実行すると、選択したテーブルからサンプル行が作成され、同じプロジェクトの一時テーブルに結果が書き込まれます。Gemini は、サンプルデータとスキーマを使用して、データ準備エディタに表示されるデータ準備の候補を生成します。
データ準備エディタのビュー
データ準備は、[BigQuery] ページのタブとして表示されます。各タブには、一連のサブタブ(データ準備のビュー)があり、ここでデータ準備を設計して管理します。
データビュー
新しいデータ準備を作成すると、データ準備エディタのタブが開き、テーブルの代表的なサンプルを含むデータビューが表示されます。既存のデータ準備の場合は、データ準備パイプラインのグラフビューでノードをクリックしてデータビューに移動できます。
データビューでは、次のことができます。
- データを操作して、データ準備手順を作成する。
- Gemini の候補を適用する。
- セルにサンプル値を入力して、Gemini の候補の質を高める。
テーブルの各列の上に、統計プロファイル(ヒストグラム)が表示され、プレビュー行に各列の上位値の数が示されます。
グラフ表示
グラフビューは、データ準備の概要を視覚的に示します。データ準備を開くと、コンソールの [BigQuery] ページのタブとして表示されます。グラフには、データ準備パイプラインのすべてのステップのノードが表示されます。グラフ上のノードを選択して、そのノードが表すデータ準備ステップを構成できます。
スキーマビュー
データ準備のスキーマビューには、アクティブなデータ準備ステップの現在のスキーマが表示されます。表示されるスキーマはデータビューの列と一致します。
スキーマビューでは、列の削除など、専用のスキーマ オペレーションを実行できます。また、[適用されたステップ] リストにステップが作成されます。
Gemini による提案
Gemini は、コンテキストに応じた候補を提案し、次のデータ準備タスクを支援します。
- 変換とデータ品質ルールの適用
- データの標準化と拡充
- スキーマ マッピングの自動化
各候補は、データ準備エディタの候補リストのカードに表示されます。このカードには次の情報が含まれています。
- ステップの大まかなカテゴリ(例: 行を保持、変換)
- ステップの説明(例:
COLUMN_NAME
がNULL
でない場合、行を保持する) - ステップの実行に使用される対応する SQL 式
候補カードのプレビュー、編集、適用、また、候補のファインチューニングができます。手順を手動で追加することもできます。詳細については、Gemini でデータを準備するをご覧ください。
Gemini からの候補をファインチューニングする際に、列で変更する内容の例を提供できます。
データ サンプリング
BigQuery はデータ サンプリングを使用して、データ準備のプレビューを提供します。サンプルは、各ノードのデータビューで表示できます。
BigQuery 標準テーブルをソースとして追加すると、BigQuery の TABLESAMPLE
関数を使用してデータが準備されます。この関数は 1 万件のレコードのサンプルを作成します。
ビューまたは外部テーブルをソースとして追加すると、システムは最初の 100 万件のレコードを読み取ります。これらのレコードから、代表的な 1 万件のレコードのサンプルが選択されます。
サンプル内のデータは自動的に更新されません。サンプル テーブルはキャッシュに保存されたクエリ結果として保存され、約 24 時間で期限切れになります。サンプル テーブルを手動で更新するには、データ準備のサンプルを更新するをご覧ください。
書き込みモード
費用と処理時間を最適化するには、ソースからの新しいデータを増分処理するように、書き込みモードの設定を変更します。たとえば、BigQuery にレコードが毎日挿入されるテーブルがあり、変更されたデータを反映する Looker ダッシュボードがある場合は、BigQuery データ準備をスケジュールして、ソーステーブルから新しいレコードの増分を読み取り、宛先テーブルに伝播できます。
データ準備を宛先テーブルに書き込む方法を構成するには、データを増分処理してデータ準備を最適化するをご覧ください。
次の書き込みモードがサポートされています。
書き込みモードのオプション | 説明 |
---|---|
完全更新 | すべてのソースデータに対してデータ準備の手順を実行し、宛先テーブルを完全に再構築します。テーブルは切り捨てられるのではなく、再作成されます。宛先テーブルへの書き込みのデフォルト モードは完全更新です。 |
追加 | データ準備のすべてのデータを宛先テーブルの追加の行として挿入します。 |
増分 | 宛先テーブルに新しいデータか、増分列の選択に応じて変更されたデータのみを挿入します。増分列の選択に基づいて、データ準備は最適な変更レコード検出メカニズムを選択します。数値データタイプと日時データタイプには最大値が選択され、カテゴリデータには一意の値が選択されます。最大挿入では、指定された列の値が宛先テーブルの同じ列の最大値よりも大きいレコードのみが挿入されます。一意の挿入では、指定された列の値が宛先テーブルの同じ列の既存の値に存在しないレコードのみが挿入されます。 |
サポートされているデータ準備手順
BigQuery は、次のタイプのデータ準備ステップをサポートしています。
ステップの種類 | 説明 |
---|---|
ソース | 読み取る BigQuery テーブルを選択するか、結合ステップを追加すると、ソースが追加されます。 |
変換 | SQL 式を使用してデータのクリーニングと変換を行います。次の式の候補カードが表示されます。
手動変換ステップで有効な BigQuery SQL 式を使用することもできます。例:
詳細については、変換を追加するをご覧ください。 |
フィルタ | WHERE 句構文を使用して行を削除します。フィルタ ステップを追加するときに、検証ステップにすることもできます。詳細については、行をフィルタするをご覧ください。 |
検証 | 検証ルールの条件を満たさない行をエラーテーブルに送信します。データが検証ルールに合格せず、エラーテーブルが構成されていない場合、データ準備は実行中に失敗します。 詳細については、エラーテーブルを構成して検証ルールを追加するをご覧ください。 |
結合 | 2 つのソースの値を結合します。テーブルは同じロケーションに存在する必要があります。結合キー列のデータ型は同じである必要があります。データ準備は、次の結合オペレーションをサポートしています。
詳細については、結合オペレーションを追加するをご覧ください。 |
宛先 | データ準備ステップの出力先を定義します。存在しない宛先テーブルを入力すると、データ準備によって現在のスキーマ情報を使用して新しいテーブルが作成されます。 詳細については、宛先テーブルを追加または変更するをご覧ください。 |
列を削除する | スキーマから列を削除します。この手順は、スキーマビューから行います。 詳細については、列を削除するをご覧ください。 |
データ準備実行のスケジューリング
データ準備手順を実行し、準備したデータを宛先テーブルに読み込むには、スケジュールを作成します。データ準備は、データ準備エディタからスケジューリングし、BigQuery の [スケジュール設定] ページから管理できます。詳細については、データ準備をスケジュールするをご覧ください。
データ準備タスクを使用したパイプラインの構築
データ準備、SQL クエリ、ノートブック タスクで構成される BigQuery パイプラインを構築できます。その後、これらのパイプラインをスケジュールで実行できます。詳細については、BigQuery パイプラインの概要をご覧ください。
アクセスの制御
Identity and Access Management(IAM)ロール、BigQuery と Dataform の Cloud KMS 鍵による暗号化、VPC Service Controls を使用して、データ準備へのアクセスを制御します。
IAM のロールと権限
データを準備するユーザーと、ジョブを実行する Dataform サービス アカウントには、IAM 権限が必要です。詳細については、必要なロールと BigQuery 用に Gemini を設定するをご覧ください。
Cloud KMS 鍵を使用した暗号化
BigQuery のデフォルトの顧客管理 Cloud KMS 鍵を使用して、データセット レベルまたはプロジェクト レベルでデータを暗号化します。詳細については、データセットのデフォルト鍵を設定するとプロジェクトのデフォルト鍵を設定するをご覧ください。
デフォルトでは、Dataform Cloud KMS 鍵を使用して、プロジェクト レベルでパイプライン コードを暗号化できます。
VPC Service Controls 境界
VPC Service Controls を使用する場合は、Dataform と BigQuery を保護するように境界を構成する必要があります。詳細については、BigQuery と Dataform の VPC Service Controls の制限事項をご覧ください。
制限事項
データ準備には次の制限があります。
- 特定のデータ準備の BigQuery データ準備のソース データセットと宛先データセットはすべて同じロケーションに存在する必要があります。詳細については、ロケーションをご覧ください。
- パイプラインの編集中、データとインタラクションは処理のために Gemini のデータセンターに送信されます。詳細については、ロケーションをご覧ください。
- Gemini in BigQuery は Assured Workloads ではサポートされていません。
- BigQuery データ準備では、データ準備のバージョンの表示、比較、復元はサポートされていません。
- Gemini からの回答は、データ準備パイプラインの設計時に指定したデータセットのサンプルに基づいています。詳細については、Gemini for Google Cloud がデータを使用する方法と、Gemini for Google Cloud Trusted Tester プログラムの利用規約をご覧ください。
- BigQuery データ準備には独自の API がありません。必要な API については、Gemini in BigQuery を設定するをご覧ください。
ロケーション
データ準備は、サポートされている任意の BigQuery ロケーションで使用できます。データ処理ジョブは、ソース データセットのロケーションで実行され、保存されます。リポジトリのロケーションが指定されている場合は、ソース データセットのロケーションと同じである必要があります。データ準備コードのストレージ リージョンは、ジョブ実行リージョンと異なる場合があります。
BigQuery Studio のすべてのコードアセットは同じデフォルト リージョンを使用します。コードアセットのデフォルト リージョンを設定する手順は次のとおりです。
[BigQuery] ページに移動します。
[エクスプローラ] ペインで、コードアセットを有効にしたプロジェクトを見つけます。
プロジェクトの横にある
(アクションを表示)をクリックし、[デフォルトのコード リージョンを変更] をクリックします。[リージョン] で、コードアセットに使用するリージョンを選択します。
[選択] をクリックします。
利用可能なリージョンの一覧については、BigQuery Studio のロケーションをご覧ください。
Gemini in BigQuery はグローバルに運用されるため、データ準備を設計する際に Gemini のデータ処理を特定のリージョンに制限することはできません。ただし、設計時と実行時の BigQuery データ処理は、常にソース データセットのロケーションで実行されます。Gemini in BigQuery がデータを処理するロケーションの詳細については、Gemini のサービス提供ロケーションをご覧ください。
料金
データ準備の実行とデータプレビュー サンプルの作成では BigQuery リソースが使用されます。このリソースの料金は、BigQuery の料金に記載されているとおりです。
データの準備は、Gemini in BigQuery の料金に含まれます。プレビュー期間中は、追加料金なしで BigQuery データ準備を使用できます。詳細については、Gemini in BigQuery を設定するをご覧ください。
割り当て
詳細については、Gemini in BigQuery の割り当てをご覧ください。
次のステップ
- Gemini in BigQuery を使用してデータを準備する方法を学習する。
- データ準備を手動またはスケジュールで実行する方法を学習する。