この機能は招待プレビュー版として提供されています。有効にするには、チケットを送信してください。
データディスカバリは、Object Storage Service (OSS) バケットを自動的にスキャンし、ファイル形式とスキーマを検出して、データを MaxCompute の外部テーブルとして登録します。登録後、SQL または MaxFrame を使用してデータを直接クエリできます。手動での DDL は不要です。MaxCompute は、検出されたすべてのデータにエンタープライズグレードのアクセスの制御、データマスキング、および行レベルの権限を適用します。
仕組み
各ディスカバリタスクの実行では、次のステップが実行されます。
設定された頻度 (5 分ごとから 7 日ごと) で、指定した OSS パスをスキャンします。
各データファイルからファイル形式を検出し、スキーマを推論します。
ディスカバリルールを使用して、フォルダ階層をテーブル名とパーティション列にマッピングします。
一致するテーブル、パーティション、およびスキーマを、ターゲットの MaxCompute プロジェクトとスキーマに外部テーブルとして登録します。
各実行後、登録された外部テーブルを SQL で直ちにクエリできます。
ユースケース
自動ログ分析: 日付でパーティション分割され、JSON または CSV 形式で OSS に継続的に書き込まれるアプリケーションログは、自動的に検出され、外部テーブルとして登録されます。アナリストは、新しいパーティションが出現するとすぐに SQL でクエリできます。手動でのインジェストパイプラインは不要です。
仕様
| ディメンション | 詳細 |
|---|---|
| サポートされているデータソース | OSS |
| サポートされているファイル形式 | Parquet (非圧縮、SNAPPY、ZSTD、GZIP); ORC (非圧縮、SNAPPY、ZLIB); JSON (非圧縮、BZIP2、GZIP、LZ4、DEFLATE); CSV (非圧縮、SNAPPY、GZIP) |
| ディスカバリ頻度 | 5 分 / 15 分 / 60 分 / 1 日 / 7 日 |
| パス-テーブルマッピングルール | oss://<LOCATION path>/<foreign table>/<partition (optional)>/<file> |
| タスク制限 | Alibaba Cloud アカウント ごとに 100 |
| 利用可能なリージョン | 中国 (北京)、中国 (深セン) |
制限事項
リージョン: データディスカバリは、中国 (北京) および中国 (深セン) リージョンでのみ利用可能です。
権限: Alibaba Cloud アカウント所有者、またはテナントレベルの Datascan_Admin ロールを持つユーザーのみが、ディスカバリタスクを作成および管理できます。
ロール 権限 Datascan_Admin データディスカバリタスクのリスト表示、表示、作成、更新、および削除。 スキーマの競合: 新しく検出された外部テーブルが、ターゲットスキーマ内の既存のユーザー作成テーブルと同じ名前である場合、タスクはその外部テーブルの作成をスキップします。
タスクの削除: タスクを削除しても、すでに登録されている外部テーブルは削除されません。ただし、それらのスキーマはデータレイクの変更に基づいて更新されなくなります。
前提条件
開始する前に、次のものがあることを確認してください。
ご利用の MaxCompute プロジェクトと同じリージョンおよび同じ Alibaba Cloud アカウントにある OSS バケット
OSS バケットのアクセス認証情報として構成された データレイク接続
スキーマレベルの構文が有効になっている MaxCompute プロジェクト
テナントレベルの Datascan_Admin ロール (Resource Access Management (RAM) ユーザーの場合)
Datascan_Admin ロールの付与
Alibaba Cloud アカウント所有者、またはテナントレベルの Super_Administrator ロールまたは Admin ロールを持つユーザーは、Datascan_Admin ロールを付与できます。
MaxCompute コンソールにログオンし、左上隅でリージョンを選択します。MaxCompute コンソール
左側のナビゲーションウィンドウで、[設定の管理] > [テナント] を選択します。
「テナント」ページで、「ロール」タブをクリックします。
[Datascan_Admin] を選択し、次に [Actions] 列の [New Authorization] をクリックします。
[新規承認] ダイアログボックスで、承認するユーザーを追加し、[OK] をクリックします。
テナントレベルのロールの詳細については、「テナントレベルのロールに権限を付与」をご参照ください。
ディスカバリタスクの作成
「MaxCompute コンソール」にログインし、左上隅でリージョンを選択します。MaxCompute コンソール
左側のナビゲーションウィンドウで、MaxLake > Data Discovery を選択します。
[データ検出] ページで、[データ検出タスクの作成] をクリックします。
[タスクの作成] ダイアログボックスで、次のパラメーターを設定し、[作成] をクリックします。 パスとテーブルのマッピングルールの仕組み タスクは、Location パス配下のフォルダ階層を外部テーブルとパーティション列にマッピングします:
CSV ファイルの最初の行は列名として使用されます。タスクは、読み取り中にヘッダーをスキップするために、外部テーブルで
skip.header.line.count=1を自動的に設定します。デフォルトの引用符文字は二重引用符 (
") です。改行、二重引用符 (エスケープされた"")、またはコンマを含むフィールドは、二重引用符で囲む必要があります。
基本構成
パラメーター 説明 タスク名 テナント内でタスクの一意の名前。 タスクの説明 タスクのオプションの説明。 タスク周期 タスクが新しいデータをスキャンする頻度: 5 分 / 15 分 / 60 分 / 1 日 / 7 日。 レイクデータ構成
パラメーター 説明 接続 OSS のアクセス認証情報としてデータレイク接続を選択します。 場所 スキャンする OSS パス。形式: oss://<Bucket name>/<OSS path>/。バケットは、ディスカバリタスクと同じリージョンおよび同じ Alibaba Cloud アカウントにある必要があります。ディスカバリー形式 検出するファイル形式: Parquet、ORC、JSON、または CSV。 結果 値 外部テーブル ods_vehicle_gps_rawパーティションカラム dt、hhスキーマ vin1_2025-09-16_01.parquetカタログ設定
パラメーター 説明 Project スキーマレベル構文が有効化された MaxCompute プロジェクトを選択します。 Schema スキーマを選択します。新しく検出された外部テーブルの名前が、当該スキーマ内に既に存在するユーザー作成テーブルと重複する場合、タスクは外部テーブルを作成しません。 oss://<LOCATION path>/<foreign table>/<partition (optional)>/<file>例: [ロケーション] が
oss://maxlake/に設定されており、ファイルが次の場所に存在する場合:oss://maxlake/ods_vehicle_gps_raw/dt=2025-09-16/hh=01/vin1_2025-09-16_01.parquetタスクは以下を作成します。CSV 形式に関する注意事項
ディスカバリ結果の表示
MaxCompute コンソールにログインし、左上隅でリージョンを選択します。MaxCompute コンソール
左側のナビゲーションウィンドウで、[MaxLake] > [Data Discovery] を選択します。
対象のタスクを見つけ、「[結果の参照]」を「[操作]」列でクリックします。
詳細ページで、次のセクションを確認します。
基本情報: ディスカバリ名、ディスカバリ構成、および 最近検出された時間。
最近検出された結果: 検出された外部テーブル (テーブル名 および テーブルパーティション を含む)。テーブルをクリックして、SQL を使用してそのスキーマとデータをクエリします。
過去のディスカバリ記録: ディスカバリ時間と実行ごとの検出されたテーブル数を示す実行履歴。最新の 2,000 回の実行または過去 180 日間のタスクログが保持されます。これらの条件を満たさないタスクログは削除されます。
ディスカバリタスクの管理
「MaxCompute コンソール」にログインし、左上隅でリージョンを選択します。MaxCompute コンソール
左側のナビゲーションウィンドウで、MaxLake > データ検出 を選択します。
[データ検出] ページのタスクリストで、次のコントロールを使用します:
操作 実行方法 タスクの一時停止または再開 スケジューリング スイッチを、ステータス 列でクリックします。 即時実行のトリガー 即時実行をトリガー を、操作 列でクリックします。 タスク名、説明、またはスケジュールの編集 編集 を、操作 列でクリックします。 タスクの削除 削除 を、操作 列でクリックします。登録済みの外部テーブルは削除されませんが、そのスキーマは今後更新されなくなります。
次のステップ
詳細については、「テナントレベルのロールに権限を付与」をご参照ください。