このドキュメントでは、Dataform コアを使用して BigQuery データソースを宣言する方法について説明します。
Dataform では、任意の BigQuery テーブルタイプをデータソースとして宣言できます。Dataform の外部にある BigQuery データソースを宣言すると、それらのデータソースをファーストクラスの Dataform オブジェクトとして扱うことができます。データソースを宣言したら、Dataform の他のテーブルと同じ方法で参照または解決できます。
始める前に
データソースを宣言する前に、リポジトリに開発ワークスペースを作成して初期化します。
必要なロール
データソースを宣言するために必要な権限を取得するには、ワークスペースに対する Dataform 編集者 (roles/dataform.editor
)IAM ロールの付与を管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
データソース宣言用の SQLX ファイルを作成する
データソース宣言の SQLX ファイルを definitions/
ディレクトリに保存します。definitions/
ディレクトリに新しい SQLX ファイルを作成する手順は次のとおりです。
Cloud コンソールで、[Dataform] ページに移動します。
リポジトリを選択します。
開発ワークスペースを選択します。
[ファイル] ペインで、
definitions/
の横にある [その他] メニューをクリックします。[ファイルを作成] をクリックします。
[新しいファイルを作成] ペインで、次の操作を行います。
[ファイルパスを追加] フィールドにおいて、
definitions/
の後で、ファイル名の後に.sqlx
を入力します。例:definitions/dataset-declaration.sqlx
ファイル名 には数字、英字、ハイフン、アンダースコアのみを使用できます。
[ファイルを作成] をクリックします。
データソースを宣言する
SQLX 宣言ファイルごとに 1 つのデータソースを宣言できます。SQLX ファイルの構成ブロックでデータソースを宣言するには、次の手順を行います。
- 開発ワークスペースの [ファイル] ペインで、データソース宣言の SQLX ファイルをクリックします。
ファイルに次のコード スニペットを入力します。
config { type: "declaration", database: "DATABASE", schema: "SCHEMA", name: "NAME", }
以下を置き換えます。
DATABASE
: データソースを含むプロジェクトのプロジェクト ID。SCHEMA
: データソースが存在する BigQuery データセット。NAME
: データソースとして使用するテーブルまたはビューの名前。この名前は、後で Dataform でデータソースを参照するために使用できます。
省略可: [書式] をクリックします。
次のコードサンプルは、bigquery-public-data
プロジェクトの samples
データセット内の shakespeare
テーブルをデータソースとして宣言するサンプルを示しています。
config {
type: "declaration",
database: "bigquery-public-data",
schema: "samples",
name: "shakespeare",
}
次のステップ
- JavaScript を使用してデータソースを宣言する方法については、JavaScript を使用した SQL ワークフローの作成をご覧ください。
- テーブルを定義する方法については、テーブルを作成するをご覧ください。
- テーブルのパーティションとクラスタを構成する方法については、テーブル パーティションとクラスタを作成するをご覧ください。