スキャンでデータ プロファイルのインサイトを生成する
このドキュメントでは、データに関する理解を深めるために BigQuery と Dataplex を一緒に使用する方法について説明します。BigQuery では、Dataplex を使用して平均値、一意の値、最大値など、データの統計的特性を分析します。また、Dataplex はこの情報を使用して、データ品質チェックのルールを推奨します。
データのプロファイリングの詳細については、データのプロファイリングについてをご覧ください。
始める前に
プロジェクトでスキャンを作成、変更する場合: Dataplex API を有効にします。
プロジェクトをまたぐスキャンの場合:
gcloud beta services identity create
コマンドを使用して Dataplex サービス ID を作成します。Dataplex サービス識別子が存在しない場合、このコマンドは新しい識別子を返します。サービス ID がすでに存在する場合は、既存の ID が返されます。このコマンドにより、gcloud CLI ベータ版コマンド コンポーネントのインストールを求められる場合があります。gcloud beta services identity create --service=dataplex.googleapis.com
必要なロール
アクセスが必要なユースケースに基づいて、適切なアカウント プリンシパルへの次のロールの付与を管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理に関する記事をご覧ください。
BigQuery のロール
- テーブルの BigQuery データ閲覧者。結果を公開せずにそのテーブルのスキャンを作成します。
- テーブルの BigQuery データ編集者。そのテーブルの公開を伴うスキャンを作成します。
- BigQuery テーブルとデータ プロファイルのスキャンが異なるプロジェクトにある場合は、関連するプリンシパルまたは Dataplex サービス アカウントに、対応する BigQuery テーブルの読み取り権限
bigquery.tables.getData
(または BigQuery データ閲覧者ロール)を付与する必要があります。サービス アカウントのサービス ID を取得するには、始める前にをご覧ください。 - Cloud Storage から BigQuery 外部テーブルをスキャンする場合は、Cloud Storage ロール(
roles/storage.objectViewer
)を Dataplex サービス アカウントに割り当てます。
Dataplex のロール
- プロジェクト レベルの Dataplex DataScan 管理者 - スキャンを作成します。
- スキャンに対する Dataplex DataScan 編集者 - スキャンのプロパティ(権限を除く)の編集、スキャンの実行、スキャンの削除を行います。
- スキャンの Dataplex DataScan データ閲覧者 - スキャンの結果を表示します。
これらのロールには、以前のユースケースに必要な権限が含まれています。必要な権限を正確に確認するには、[必要な権限] セクションを開いてください。
必要な権限
データ プロファイル スキャンのさまざまな要素を使用するには、次の権限が必要です。
- データスキャンの構成を変更する:
dataplex.datascans.update
- datascan リソース - データスキャンのポリシーを変更する:
dataplex.datascans.setIamPolicy
- datascan リソース - BigQuery テーブルでデータスキャンを作成する:
bigquery.tables.getData
- スキャンするテーブル - プロジェクト内にデータスキャンを作成する:
dataplex.datascans.create
- プロジェクト - データスキャンを削除する:
dataplex.datascans.delete
- datascan リソース - データスキャンの結果を BigQuery データセットにエクスポートする:
bigquery.datasets.get
、bigquery.tables.create
、bigquery.tables.get
、bigquery.tables.update
、bigquery.tables.updateData
- 宛先データセット - データスキャンの結果をテーブルにパブリッシュする:
bigquery.tables.update
- 宛先テーブル - データスキャンを実行する:
dataplex.datascans.run
- datascan リソース - Cloud Storage から外部テーブルをスキャンする:
storage.buckets.get
、storage.objects.get
- スキャンするテーブルを含むバケット - データスキャンの結果を表示する:
dataplex.datascans.getData
- データスキャン リソース - データスキャンの結果を表示する:
dataplex.datascans.get
- データスキャン リソース - データスキャンの結果を表示する:
dataplex.datascans.list
- データスキャン リソース
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
データ プロファイル スキャンを作成する
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、データ プロファイル スキャンのテーブルをクリックします。
[データ プロファイル] タブをクリックします。
[データ プロファイル スキャン] > [新しいスキャンを作成] をクリックします。
省略可: 次の値を編集します。
- 表示名: コンソールの変更可能なリソースの名前。
- ID: スキャンの固有識別子。スキャンの作成後は変更できません。
- 説明: スキャンの説明。
- リージョン: データスキャンが処理されるリージョンを定義します。
- スコープ: スキャンできるデータの範囲。[インクリメンタル] または [データ全体] を選択します。[インクリメンタル] を選択する場合は、線形に増加する
DATE
列またはTIMESTAMP
列を含めることをおすすめします。この列を使用して、新しいレコードを識別できます。DATE
型またはTIMESTAMP
型の列でパーティション分割されたテーブルでは、パーティション列をタイムスタンプ フィールドとして使用することをおすすめします。 - フィルタ: スキャンが実行される前にデータに適用するフィルタ。
[行をフィルタ]、[列をフィルタ]、またはその両方を選択できます。
- 行をフィルタするには、[行をフィルタ] チェックボックスをオンにして、入力テキスト フィールドに有効な SQL 式を入力します。式は、BigQuery 標準 SQL 構文で指定する必要があり、
WHERE
句で使用できます。 - 列をフィルタするには、[フィルタリングする列] チェックボックスをオンにして、[列を含める] フィールド、[列を除外] フィールドに、または両方に入力します。
- 行をフィルタするには、[行をフィルタ] チェックボックスをオンにして、入力テキスト フィールドに有効な SQL 式を入力します。式は、BigQuery 標準 SQL 構文で指定する必要があり、
- サンプリング サイズ: サンプリングするデータの割合。増分データスキャンでは、最新の増分のみがサンプリングされます。
- BigQuery と Dataplex Catalog UI への結果の公開: このオプションにより、BigQuery UI の [データ プロファイル] タブで、データ プロファイリング スキャンの最新の結果を利用できるようになります。スキャンが実行され、公開に設定されている場合は、このオプションを使用できないことがあります。
- スケジュール: [オンデマンド] (デフォルト)または [繰り返し]。[繰り返し] を選択した場合は、スケジュール スキャンの頻度を [毎日]、[毎週]、[毎月]、または [カスタム] に指定します。[カスタム] では、cron 時刻形式を使用してスケジュールを指定します。たとえば、月の第 2 火曜日の午前 1 時に実行されるスキャンセットは、「
0 1 8-14 * 2
」のようになります。
省略可: ペインでその他のオプション設定を表示するには、[続行] をクリックして次の値を編集します。
必要に応じて、次のいずれかのボタンをクリックします。
- スキャン設定を保存するには、[作成] をクリックします。
- スキャンを保存して実行するには、[実行] をクリックします。
データ プロファイルのスキャン権限を管理する
既存のプロファイル スキャンのアクセス権限を変更するには、次の操作を行います。
[BigQuery] ページに移動します。
[エクスプローラ] ペインで、データ プロファイル スキャンのテーブルを選択します。
[データ プロファイル] タブをクリックします。
[データ プロファイルのスキャン] > [スキャン権限を管理] をクリックします。新しいタブで Dataplex が開きます。
[権限] タブをクリックします。
- プリンシパルにアクセス権を付与するには、 [アクセスを許可] をクリックし、関連するプリンシパルに [Dataplex DataScan データ閲覧者] を付与します。
- プリンシパルからアクセス権を削除するには、 [アクセス権を削除] をクリックし、関連するプリンシパルから [Dataplex DataScan データ閲覧者] を削除します。
既存のデータ プロファイル スキャンを編集する
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、データ プロファイル スキャンのテーブルを選択します。
[データ プロファイルのスキャン] > [スキャン構成を編集] をクリックします。
これにより、データ プロファイル スキャン設定が開きます。この設定は変更して将来のスキャン用に保存できます。
データ プロファイル スキャン結果を表示する
データ プロファイル スキャン結果を表示するには、複数の方法があります。最適な方法を選択するようにしてください。
公開された結果を表示する
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、データ プロファイル スキャンのテーブルを選択します。
[データ プロファイル] タブをクリックします。
最後に公開された結果がこのビューに表示されます。
スキャン結果の履歴を表示する
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、データ プロファイル スキャンのテーブルを選択します。
[データ プロファイル] タブをクリックします。
[データ プロファイルのスキャン] > [過去の結果を見る] をクリックします。
テーブルのすべてのデータ プロファイル スキャンを表示する
特定のテーブルのスキャン履歴で Dataplex を開く手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインで、データ プロファイル スキャンのテーブルを選択します。
[データ プロファイルのスキャン] > [すべてのスキャンを表示] をクリックします。