MaxCompute テーブルは、MaxCompute SQL ステートメントまたは DataWorks で提供されるビジュアルツールを使用して作成および管理できます。本トピックでは、SQL を使用する方法よりも便利な、ビジュアルツールを使用した方法に焦点を当てて説明します。
注意事項
-
テーブル操作の原則
MaxCompute テーブルに対するすべての操作は、MaxCompute の基本要件に従う必要があります。たとえば、テーブル作成後にフィールドを削除することはできません。詳細については、「MaxCompute テーブル操作の使用制限」をご参照ください。
-
物理テーブルのプロパティの変更
MaxCompute テーブルの物理プロパティは、MaxCompute SQL コマンドを実行することによってのみ変更できます。詳細については、「テーブル操作」をご参照ください。DataWorks の権限制御により、一部のシナリオでは RAM ユーザーがテーブルを操作する際にエラーが発生することがあります。詳細については、「MaxCompute データ権限制御の詳細」をご参照ください。
-
メタデータの更新遅延
メタデータ操作には遅延が発生する場合があります。作成、更新、または削除したテーブルが期待どおりに表示されない場合 (たとえば、削除したテーブルがまだ表示されている場合) は、Data Map に移動し、テーブルメタデータをリフレッシュして手動で結果を同期してください。
前提条件
MaxCompute コンピューティングリソースがワークスペースにバインドされています。
DataStudio への移動
DataWorks コンソールにログインします。 ターゲットリージョンで、左側のナビゲーションウィンドウにあるをクリックします。 ドロップダウンリストからワークスペースを選択し、入力 データ開発をクリックします。
MaxCompute テーブルの作成
エントリポイント
DataWorks のテーブル管理ディレクトリでテーブルを作成するか、特定のビジネスプロセス用にテーブルを作成することができます。
-
テーブル管理から作成
DataStudio の左側のナビゲーションウィンドウで、[テーブル管理] を選択し、
アイコンをクリックしてテーブルを作成します。左側のナビゲーションウィンドウに [テーブル管理] が表示されない場合は、「UI のカスタマイズ」を参照して追加してください。 -
ビジネスプロセスから作成
DataWorks はビジネスプロセスを使用してコードを整理および管理し、それに関連するテーブルを作成できます。ビジネスプロセスがない場合は、まず作成してください。詳細については、「ビジネスプロセス」をご参照ください。ビジネスプロセスが存在する場合は、ビジネスプロセスを右クリックし、 を選択します。
重要ボタンが見つからない場合は、MaxCompute コンピューティングリソースがワークスペースにバインドされていることを確認してください。
テーブルの基本情報の構成
テーブルを作成すると、テーブル編集ページが表示されます。このページでは、DataWorks はテーブル情報を構成するための DDL モードと GUI モードの 2 つの方法をサポートしています。
-
DDL モードを使用したテーブルの構成
テーブル編集ページで、
アイコンをクリックし、標準の MaxCompute テーブル作成ステートメントを使用してテーブルスキーマを生成します。データ定義言語 (DDL) を使用してスキーマを生成すると、DataWorks はページ上の構成を自動的に入力します。タスクのコーディングに慣れている場合は、この方法を使用できます。重要-
テーブル名は、テーブル編集ページに移動する前に定義されます。DDL ステートメントでテーブル名を変更することはできません。変更すると、エラーが報告されます。
-
DDL モードでは、コマンドを使用してテーブルの物理プロパティのみを定義できます。DDL ステートメントが実行され、ページが入力された後、テーブル編集ページでテーブルのビジネスプロパティを編集できます。
-
-
GUI を使用したテーブルの構成
テーブル編集ページの指示に基づいてテーブルプロパティを構成します。便利なビジュアル操作を実行したい場合は、この方法を使用できます。次の例では、GUI モードでテーブル情報を構成する方法について説明します。
-
設定: General。次の表で、主なパラメーターについて説明します。
パラメーター
説明
Display Name
テーブルの表示名です。
Theme
DataWorks では、テーマはフォルダのように機能し、テーブルの第 1 レベルと第 2 レベルの場所を定義します。ビジネス目的に基づいてテーブルを分類し、同じタイプのテーブルを同じフォルダに追加できます。
説明第 1 レベルと第 2 レベルのテーマは、DataWorks のテーブル管理ページにフォルダとして表示され、テーブル管理を容易にします。[テーブル管理] ページでテーマ別に現在のテーブルをすばやく見つけることができます。利用可能なテーマがない場合は、作成できます。詳細については、「テーブルテーマの定義」をご参照ください。
-
Physical Model。次の表にパラメーターを示します。
パラメーター
説明
Layer
テーブルが属するデータウェアハウスレイヤーを指定します。レイヤーは、データウェアハウス構造の定義と管理に役立ちます。レイヤーは、オペレーショナルデータストア (ODS) 層、ディメンション (DIM) 層、データウェアハウス詳細 (DWD) 層、データウェアハウスサマリー (DWS) 層、およびアプリケーションデータサービス (ADS) 層に分けることができます。ビジネス目的に基づいて、テーブルを適切なレイヤーに追加できます。
説明レイヤーをカスタマイズすることもできます。詳細については、「レイヤーの管理」をご参照ください。
物理カテゴリ
テーブルの物理カテゴリです。このパラメーターは、ビジネスの観点からテーブルをより詳細に分類するために使用されます。カテゴリには、基本ビジネスレイヤー、高度ビジネスレイヤー、その他が含まれます。
説明物理カテゴリをカスタマイズすることもできます。詳細については、「カテゴリの管理」をご参照ください。
Lifecycle
テーブルのライフサイクルです。
Partition Type
テーブルがパーティションテーブルか非パーティション化テーブルかを指定します。MaxCompute のパーティションテーブルと非パーティション化テーブルの詳細については、「パーティション」をご参照ください。
Table Type
テーブルが内部テーブルか外部テーブルかを指定します。内部テーブルには MaxCompute が管理するデータが含まれており、通常はクエリが高速になります。外部テーブルは他の場所のデータを参照するため、データをインポートせずにクエリを実行でき、ストレージ容量を節約できます。MaxCompute の内部テーブルと外部テーブルの詳細については、「テーブル」をご参照ください。
-
Schema。[テーブルスキーマの設計] セクションには、フィールド定義とパーティション設定のエリアが含まれています。フィールド定義エリアには、[フィールドの追加]、[上に移動]、[下に移動] ボタンがあります。このエリアの列には、[フィールド名]、[表示名]、[長さ/設定]、[説明]、および [アクション] ([保存] と [キャンセル]) が含まれます。パーティション設定エリアでは、[パーティションの追加] をクリックしてパーティションキーを追加し、その [日付パーティション形式] (例:
yyyymmdd) と [日付パーティションの粒度] を設定できます。次の表に、主なパラメーターを示します。パラメーター
説明
Field Type
フィールドのデータ型です。ドロップダウンリストから MaxCompute がサポートするデータ型のみを選択できます。MaxCompute のデータ型の詳細については、「データ型のエディション」をご参照ください。
Field Security Level
フィールドのセキュリティレベルです。このパラメーターは、MaxCompute プロジェクトでラベルベースのアクセス制御が有効になっている場合にのみ使用できます。MaxCompute のフィールドセキュリティレベルの詳細については、「ラベルベースのアクセス制御」をご参照ください。
Primary Key
ビジネスプライマリキーを指定します。MaxCompute テーブルはプライマリキーを強制しないことに注意してください。このパラメーターは、ビジネスレベルの管理とデータモデリングの目的でのみ使用されます。
-
テーブルのコミットと公開
テーブルスキーマを定義した後、テーブルを開発環境にコミットし、次に本番環境に公開する必要があります。
MaxCompute テーブルのコミットと公開のプロセスは、ワークスペースモードによって異なります。
-
基本モードで実行されるワークスペースでは、テーブルを本番環境にのみコミットする必要があります。
-
標準モードで実行されるワークスペースでは、スペースマネージャー または O&M Personnel ロールが割り当てられたユーザーのみがテーブルを本番環境に公開できます。ユーザーがテーブルを本番環境に公開できるようにするには、必要な権限を付与する必要があります。権限の付与方法の詳細については、「ワークスペースメンバーの追加とロールおよび権限の管理」をご参照ください。
|
アクション |
説明 |
|
Load from Development Environment |
開発テーブルの情報を現在のページにロードします。 重要
この操作は、テーブルが開発環境にコミットされた後にのみ実行できます。この操作を実行すると、開発環境で作成されたテーブルの情報が現在のページのテーブル情報を上書きします。 |
|
Commit to Development Environment |
テーブルを DataWorks の開発環境にコミットします。この操作により、開発環境のコンピューティングリソースに関連付けられている MaxCompute プロジェクトにテーブルが作成されます。テーブルがコミットされた後、次の操作を実行できます:
|
|
Load from Production Environment |
本番環境から本番テーブルの情報を現在のページにロードします。 重要
この操作は、テーブルが本番環境にコミットされた後にのみ実行できます。この操作を実行すると、本番環境で作成されたテーブルの情報が現在のページのテーブル情報を上書きします。 |
|
Commit to Production Environment |
テーブルを DataWorks の本番環境にコミットします。この操作により、本番環境に追加された MaxCompute コンピューティングリソースに対応する MaxCompute プロジェクトにテーブルが作成されます。テーブルがコミットされた後、次の操作を実行できます:
|
テーブルへの書き込みとエクスポート
次のセクションで説明するように、MaxCompute テーブルにデータを書き込んだり、エクスポートしたりできます。
データの書き込み
データ統合タスクまたは MaxCompute ノードタスクを使用して、MaxCompute テーブルにデータを書き込むことができます。さらに、DataWorks では [データのアップロード] 機能を使用して、ローカルデータを MaxCompute テーブルにインポートできます。
データのエクスポート
DataStudio でデータをクエリした後、クエリ結果ページで Download をクリックして、データをローカルコンピューターにエクスポートできます。デフォルトでは、一度に最大 10,000 レコードをダウンロードできます。テナント管理者とテナントセキュリティ管理者は、セキュリティセンターの [データクエリと分析制御] ページに移動して、一度にダウンロードできるレコードの最大数を設定できます。
10,000 レコード以上をエクスポートするには、MaxCompute クライアントを使用し、Tunnel コマンドを実行してください。
MaxCompute テーブル内のデータのクエリ
ODPS SQL ノードまたは アドホッククエリ機能を使用して SQL ステートメントを実行し、MaxCompute テーブルのデータをクエリできます。
デフォルトの権限
基本モードのワークスペースには、詳細な権限制御と環境の隔離がありません。以下の例では、標準モードのワークスペースを想定しています。
RAM ユーザーがメンバーとしてワークスペースに追加されると、その RAM ユーザーには次のプリセットのデータアクセス権限が付与されます:
|
権限タイプ |
説明 |
|
MaxCompute 開発プロジェクトの権限 |
DataWorks は、ワークスペースレベルのプリセットロールを開発環境の MaxCompute エンジンロールにマッピングします。デフォルトでは、このロールを持つ RAM ユーザーは対応する開発プロジェクトに対する権限を持ちますが、本番プロジェクトに対する権限はありません。 |
|
MaxCompute 本番プロジェクトの権限 |
スケジューリングアクセス ID を持つ RAM ユーザーは、本番環境の MaxCompute プロジェクトに対して高レベルの権限を持ちます。他の RAM ユーザーは、デフォルトでは本番権限を持ちません。本番テーブルを操作するには、[セキュリティセンター] に移動して権限を申請する必要があります。 DataWorks はデフォルトの承認プロセスを提供し、管理者が承認プロセスをカスタマイズすることもできます。 |
MaxCompute のデータアクセス制御の詳細については、「MaxCompute データ権限制御の詳細」をご参照ください。
データアクセス動作
MaxCompute はプロジェクト間のテーブルクエリをサポートしています。したがって、DataStudio ページでプロジェクト名を指定して、DataWorks ワークスペース内のプロジェクト間で本番データをクエリできます。次の表に、プロジェクト間のテーブルにアクセスする方法と、異なるページで実行に使用されるアカウントを示します。
-
データ開発でコンピューティングリソースのバインド情報を表示して、異なる環境に追加された MaxCompute コンピューティングリソースと、それらの環境用に構成された実行アカウントを確認できます。詳細については、「コンピューティングリソースの管理」をご参照ください。
-
デフォルトでは、標準モードのワークスペースでは、開発環境のタスクはタスク実行者の個人 ID を使用して実行されます。本番環境では、タスクは指定された Alibaba Cloud アカウントであるスケジューリングアクセス ID を使用して実行されます。詳細については、「MaxCompute コンピューティングリソースのバインド」をご参照ください。
|
コード例 |
開発環境 |
本番環境 |
|
開発プロジェクトの開発テーブルにアクセスする:
|
タスク実行者は、個人の Alibaba Cloud アカウントを使用して開発テーブルにアクセスします。
|
スケジューリングアクセス ID が開発テーブルへのアクセスに使用されます。 |
|
本番プロジェクトの本番テーブルにアクセスする:
|
タスク実行者は、個人の Alibaba Cloud アカウントを使用して本番テーブルにアクセスします。 説明
本番データのセキュリティ制御のため、個人の Alibaba Cloud アカウントはデフォルトで本番テーブルへのアクセス権限を持ちません。[セキュリティセンター] に移動して権限を申請する必要があります。DataWorks はデフォルトの承認プロセスを提供し、管理者が承認プロセスをカスタマイズすることもできます。 |
スケジューリングアクセス ID が本番テーブルへのアクセスに使用されます。 |
|
開発環境などの環境でステートメントを実行し、開発テーブルなどの対応する環境のテーブルにアクセスする:
|
ステートメントが開発環境で実行されると、タスク実行者の個人の Alibaba Cloud アカウントが開発エンジンの宛先テーブルへのアクセスに使用されます。 |
ステートメントが本番環境で実行されると、スケジューリングアクセス ID が本番エンジンの宛先テーブルへのアクセスに使用されます。 |
MaxCompute データ資産の表示
次のセクションで説明するように、MaxCompute データ資産を表示できます。
テナント内の本番テーブルの表示
データ開発の [テナントテーブル] モジュールでは、ご利用の Alibaba Cloud アカウントに属する現在のリージョンのすべての本番テーブルを表示できます。
メタデータの表示
[データマップ] に移動して、MaxCompute テーブルの詳細とメタデータを表示できます。
テーブルリネージの表示
[データマップ] のテーブル詳細ページで、テーブルの上流および下流のリネージを表示できます。
ワークスペースでテーブルを操作するタスクを特定するには、コード検索機能を使用できます。
テーブルの一括管理
次のセクションで説明するように、MaxCompute テーブルを一括で管理できます。
テーブルの一括削除
DataMap の [マイデータ] に移動して、所有するテーブルを一括削除できます。
本番データのセキュリティ制御のため、コマンドを実行して本番テーブルを直接削除することはできません。所有していないテーブルを削除するには、[セキュリティセンター] に移動してテーブルの権限を申請する必要があります。
テーブル所有者の一括変更
DataMap の [マイデータ] に移動して、所有するテーブルの所有者を一括で変更できます。
テーブルライフサイクルの一括変更
DataMap の [マイデータ] に移動して、所有するテーブルのライフサイクルを一括で変更できます。
単一テーブルのライフサイクルは、テーブル管理で変更できます。詳細については、「MaxCompute テーブルの作成」をご参照ください。