データプロファイリングは、データの概要をすばやく理解し、データの可用性を評価し、潜在的なリスクを事前に特定するのに役立ちます。データテーブルに対して、完全プロファイリングまたはサンプリングプロファイリングを実行できます。このトピックでは、データプロファイリングタスクを作成する方法について説明します。
前提条件
データプロファイリング機能を使用するには、データ品質モジュールをアクティブ化する必要があります。
制限事項
計算エンジンが AnalyticDB for PostgreSQL、ArgoDB、または StarRocks の場合、データプロファイリングはサポートされていません。
メタテーブル、ミラーテーブル、または論理タグテーブルでは、データプロファイリングはサポートされていません。
データテーブルのストレージクラスが Hologres または Kudu の場合、データプロファイリングはサポートされていません。
プロファイリングタスクごとに最大 1500 フィールドを選択できます。
データプロファイリングをサポートするデータソースの種類については、「異なるデータソースでサポートされている検出パーティションと検出範囲」をご参照ください。
計算エンジンが E-MapReduce 3.x、E-MapReduce 5.x、CDH 5.x、CDH 6.x、FusionInsight 8.x、AsiaInfo DP 5.3、Cloudera Data Platform 7.x、Lindorm(計算エンジン)、Amazon EMR、または TDH で、データソースがレイクテーブルを持つ Hive の場合、データプロファイリングを実行するには、現在のテーブルが配置されている計算ソースの Spark タスクを有効にする必要があります。
複数のプロファイリングフィールドまたはプロファイリングシナリオを選択すると、プロファイリングタスクは、ソーステーブルが配置されているデータソース、またはデータテーブルが配置されているプロジェクトまたは業務部門から大量の計算リソースを消費する可能性があります。これは、アドホッククエリや定期タスクスケジューリングなどの機能に影響を与える可能性があります。ビジネス要件に基づいて、単一のプロファイリングタスクのフィールド数またはプロファイリングシナリオを選択することをお勧めします。
権限
スーパー管理者と運用管理者は、すべてのデータテーブルのデータプロファイリングを作成および管理できます。テーブル所有者は、所有するテーブルのデータプロファイリングのみを作成および管理できます。
プロジェクト管理者は、管理するプロジェクト内の物理テーブルのデータプロファイリングを作成および管理できます。
業務部門管理者は、管理する業務部門内の論理テーブルのデータプロファイリングを作成および管理できます。
シナリオ
統合タスクのソーステーブルのコアフィールドは JSON タイプです。ターゲットデータテーブルに同期する前に、get_json_object
関数を使用してキーフィールド情報を抽出する必要があります。統合タスクが正常に実行された後にプロファイリングをトリガーするように指定して、ターゲットテーブルの自動データプロファイリングタスクを作成できます。これにより、コアフィールドの解析結果が期待どおりであるかどうか(空の値が存在するかどうか、フィールド分布が期待どおりであるかどうかなど)が検証され、ダウンストリームビジネスへの影響を回避できます。
手動データプロファイリングを構成する
Dataphin ホームページの上部ナビゲーションバーで、[ガバナンス] > [アセットインベントリ] を選択します。
Dataphin アセットを選択し、[テーブル] タブをクリックします。テーブルタイプに基づいて物理テーブル、論理テーブル、物理ビュー、論理ビュー、マテリアライズドビューをフィルタリングするか、他のシステムアセットを選択してリストに入ることができます。
リストで、ターゲットテーブルの名前または [アクション] 列の
アイコンをクリックして、オブジェクト詳細ページに移動します。
[オブジェクトの詳細] ページで、[データプロファイル] タブをクリックし、[手動プロファイルをトリガー] ボタンをクリックして、[手動データプロファイリングの作成] ダイアログボックスを開きます。
同じテーブルにすでに 実行中 または 待機中 の手動プロファイリングタスクがある場合は、[プロファイリングの停止] をクリックしてから、新しいタスクを開始できます。
[手動データプロファイリングの作成] ダイアログボックスで、パラメーターを構成します。
プロファイリング構成
パラメーター
説明
データテーブル
現在のアセットの名前が表示されます。このパラメーターは変更できません。
プロファイルパーティション
パーティションテーブルのみ、プロファイリングのパーティション範囲を構成する必要があります。既存の指定されたパーティション(データテーブルアセット詳細ページの「詳細情報 - パーティション情報」タブで既に生成されているパーティション)をすばやく選択するか、式を手動で入力して複数のパーティションを一度にプロファイリングできます。複数のパーティションレベルは
and
で接続されます。例:ds > '20230101' and (age >10 or age < 20) and city in ('beijing', 'hangzhou')
。複数のパーティションレベルがある場合は、少なくとも 1 つのパーティションレベルを指定します。パーティションフィルター式の詳細については、「パーティションフィルター式の概要」をご参照ください。
プロファイリングコンテンツ
プロファイリングするフィールドと対応するプロファイリングシナリオを選択します。
欠損値分析:フィールドに Null 値を持つレコードの数をカウントします。すべてのデータ型がサポートされています。
数値型:さらに、値が 0 のレコードをカウントします。
テキスト型:さらに、空の文字列を持つレコードをカウントします。
値分布分析:フィールド値の分布を分析し、フィールド値分布チャートを生成します。すべてのデータ型がサポートされています。
数値型:フィールドの選択されたレコードの最大値(Max)、最小値(Min)、平均値(Avg)、Null 値レコードの数、一意の値レコードの数、標準偏差、25% 分位数、中央値、および 75% 分位数を計算します。
テキスト型:フィールドの選択されたレコードの最大文字長、最小文字長、平均文字長、Null 値レコードの数、および一意の値レコードの数を計算します。
説明計算エンジンが TDH 6.x の場合、取得される char フィールドの長さは、フィールドタイプで定義された長さであり、実際の長さではありません。たとえば、フィールド
name (char 10)
に 4 文字のname
のみが格納されている場合、length 関数は 4 ではなく 10 を返します。計算エンジンが他のタイプの場合、取得される char フィールドの長さは、フィールドの実際の長さであり、フィールドタイプで定義された長さではありません。たとえば、フィールド
name (char 10)
に 4 文字のname
のみが格納されている場合、length 関数は 10 ではなく 4 を返します。日付と時刻の型:フィールドの最大値(Max)、最小値(Min)、Null 値レコードの数、および一意の値レコードの数を計算します。
ブール型:フィールドの Null 値レコードの数をカウントします。
一意の値分析:一意の値レコードの数と、繰り返し頻度が最も高い上位 5 つのフィールド値をカウントします。ブール型は、一意の値レコードのカウントをサポートしていません。
データフィルタリング
この機能を有効にすると、コードボックスでデータフィルタリングスクリプトを構成できます。例:
city = 'hangzhou'
。プロファイル範囲
プロファイリングするレコード数を設定するために使用します。すべてのレコード、n レコードのランダムサンプリング、または n% レコードのパーセンテージサンプリングをサポートします。
すべてのレコード:選択したフィールドの指定されたパーティションのすべてのレコードがプロファイリングに参加します。これは、完全データのプロファイリングが必要なシナリオに適しており、データの状況をより正確に反映できます。レコードが多い場合、実行に時間がかかり、より多くのリソースを消費する可能性があります。
N レコードのランダムサンプリング:選択したフィールドの指定されたパーティションから n レコードをランダムにサンプリングしてプロファイリングします。プロファイリングできるレコードの総数がサンプリング数より少ない場合、すべてのレコードが返されます。最大サンプリング数は 10,000 レコードです。1 から 10,000 までの整数の入力をサポートします。
N% レコードのパーセンテージサンプリング:選択したフィールドの指定されたパーティションから n% のレコードをランダムにサンプリングしてプロファイリングします。これは正確な値ではありません。
説明パーセンテージサンプリングは、計算エンジンが MaxCompute の場合にのみサポートされます。
ランダムサンプリングまたはパーセンテージサンプリングを選択した場合、異なるフィールド間および同じフィールドの異なるプロファイリングシナリオ間でサンプリング結果が異なる場合があります。プロファイリングされたテーブルのレコードが少ないほど、結果に違いが生じる可能性が高くなります。
異なるデータソースでサポートされているプロファイリング範囲については、「異なるデータソースでサポートされている検出パーティションと検出範囲」をご参照ください。
プロファイリング結果
この構成は、プロファイリング結果がアセットインベントリに表示されるかどうかに影響します。機密データをより適切に制御するために、異なるデータテーブルのプロファイリングレポートの表示権限を構成することをサポートしています。2 つの構成方法がサポートされています。
公開:データテーブルの詳細ページを表示する権限を持つユーザーは、プロファイリングレポートを表示できます。
管理者と所有者のみ表示可能:現在のデータテーブルのスーパー管理者、運用管理者、プロジェクト管理者と業務部門管理者、現在のデータテーブルの所有者、および現在のデータソーステーブルの保守担当者は、レポートを表示できます。
SQL プレビュー
現在のプロファイリング構成に基づいて生成されたプロファイリング SQL を表示して、より多くのプロファイリング情報を理解できます。SQL を切り替えて表示できます。
プロファイリングタスクを最適化し、システムの安定性を確保し、プロファイリング効率を向上させるために、システムは選択されたプロファイリングフィールドとシナリオに基づいてプロファイリングステートメントを複数の SQL に自動的に分割します。
[OK] をクリックして、手動データプロファイリング構成を完了し、プロファイリングを開始します。
自動データプロファイリングを構成する
[自動プロファイリングの構成] ボタンをクリックして、[自動プロファイリング構成] ダイアログボックスを開きます。
[自動プロファイリング構成] ダイアログボックスで、パラメーターを構成します。
プロファイリング構成
パラメーター
説明
自動プロファイリング
デフォルトでは無効になっています。有効にして自動プロファイリングを構成できます。現在のテーブルで自動プロファイリングを有効にできない場合は、運用管理者に連絡して関連構成を有効にしてください。詳細については、「データプロファイリングのグローバル構成」をご参照ください。
説明以前に有効にした場合、無効にしても新しいプロファイリングレコードは生成されません。現在実行中のプロファイリングタスクは影響を受けません。
プロファイリングタスクが以前に構成されている場合、変更は生成済みまたは現在実行中のプロファイリングタスクには影響しません。
データテーブル
現在のアセットの名前が表示されます。このパラメーターは変更できません。
プロファイルパーティション
パーティションテーブルのみ、プロファイリングのパーティション範囲を構成する必要があります。最新のパーティションを選択するか、パーティションを指定することをサポートします。
最新のパーティション:システムは、ガバナンス > アセットインベントリ で定期的に取得されるパーティションデータの最新値を取得します(データテーブルアセット詳細ページの「詳細情報 - パーティション情報」タブで既に生成されているパーティションと同じ)。これは、テーブルの実際の最新のパーティションとは異なる場合があります。
パーティションを指定:式を手動で入力して複数のパーティションを一度にプロファイリングできます。複数のパーティションレベルは
and
で接続されます。例:ds > '20230101' and (age >10 or age < 20) and city in ('beijing', 'hangzhou')
。組み込みのパーティション式をすばやく選択することもできます。詳細については、「パーティションフィルター式の概要」をご参照ください。説明クロスパーティションプロファイリングがサポートされています。パーティションが多いほど、ランタイムが長くなります。リソースを最適化するために、あまりにも多くのパーティションにわたるプロファイリングは避けてください。
複数のパーティションレベルがある場合は、少なくとも 1 つのパーティションレベルを指定します。
プロファイリング頻度
プロファイリングタスクのスケジューリングシナリオを設定するために使用します。2 つのプロファイリング方法がサポートされています。
スケジュールされたプロファイリング:設定された時間に従って定期的にデータをプロファイリングします。スケジューリングサイクルには、毎日、毎週、および 毎月 が含まれます。
指定されたタスクが正常に実行された後にプロファイリング:選択したデータテーブルが正常に実行された後、現在のテーブルのデータプロファイリングタスクをトリガーします。本番環境で毎日、毎週、または毎月のスケジュールを持つスクリプトタスクを選択できます。
説明選択したタスクがドライランモードの場合、データプロファイリングはトリガーされません。
プロファイリングコンテンツ
構成方法は手動プロファイリングと同じです。詳細については、「プロファイリング構成」をご参照ください。
データフィルタリング
プロファイル範囲
プロファイリング結果
SQL プレビュー
現在のプロファイリング構成に基づいて生成されたプロファイリング SQL を表示して、より多くのプロファイリング情報を理解できます。詳細については、「SQL プレビュー」をご参照ください。
[OK] をクリックして、自動プロファイリング構成を完了します。
説明一部のプロジェクトまたは業務部門で自動プロファイリングが有効になっているデータテーブルの範囲が変更され、以前にデータプロファイリングが構成されていたデータテーブルが削除された場合、データテーブルが削除された後、関連するすべてのデータテーブルの自動プロファイリングが自動的に無効になります。現在プロファイリングされているタスクと既に生成されているタスクは影響を受けません。
次のステップ
プロファイリングタスクが完了したら、異なるフィールドデータ型に対応する結果表示を表示できます。詳細については、「データプロファイリングレポートとプロファイリングレコードを表示する」をご参照ください。