MaxCompute クライアントで SQL 文を実行するか、DataWorks コンソールで操作を実行することで、MaxCompute テーブルを作成および管理できます。 DataWorks コンソールで MaxCompute テーブルを作成および管理する方が便利です。このトピックでは、DataWorks コンソールで MaxCompute テーブルを作成および管理する方法について説明します。
前提条件
背景情報
MaxCompute テーブル操作の原則
DataWorks で MaxCompute テーブルを作成したり、MaxCompute テーブルに対して操作を実行したりする場合は、MaxCompute テーブルに対して実行される操作の基本要件に準拠する必要があります。たとえば、MaxCompute テーブルを作成した後に、テーブルのフィールドを削除することはできません。詳細については、「MaxCompute テーブル操作の制限」をご参照ください。
MaxCompute テーブルの物理プロパティの変更
MaxCompute SQL 文を実行することで、MaxCompute テーブルの物理プロパティを変更できます。詳細については、「テーブル操作」をご参照ください。 DataWorks から MaxCompute テーブルにアクセスする場合は、権限管理が実装されます。 RAM ユーザーとして DataWorks から MaxCompute テーブルにアクセスすると、一部のシナリオでエラーが報告される場合があります。詳細については、「MaxCompute 計算エンジンインスタンスのデータに対する権限の管理」をご参照ください。
メタデータ更新のレイテンシ
メタデータに対して操作を実行すると、レイテンシが発生する場合があります。 DataWorks でテーブルを作成または更新した後、UI でテーブルが見つからない場合があります。 DataWorks からテーブルを削除した後も、UI でテーブルが表示される場合があります。このような場合は、[データマップ] の手動同期ツールを使用して、操作結果を手動で同期できます。詳細については、「手動同期ツール」をご参照ください。
DataStudio ページに移動する
DataWorks コンソールにログオンします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
MaxCompute テーブルを作成する
DataWorks コンソールの DataStudio ページの [ワークスペーステーブル] ペインで MaxCompute テーブルを作成できます。 DataStudio の特定のワークフローで MaxCompute テーブルを作成することもできます。 DataWorks では、DDL 文を実行するか、コードレス UI を使用することで、開発環境と本番環境で個別にテーブルを作成できます。
テーブル作成のエントリポイント
[ワークスペーステーブル] ペインで MaxCompute テーブルを作成する
DataStudio ページの左側のナビゲーションウィンドウで、[ワークスペーステーブル] をクリックします。 [ワークスペーステーブル] ペインで、
アイコンをクリックして MaxCompute テーブルを作成します。テーブルの管理方法の詳細については、「テーブルの管理」をご参照ください。 [ワークスペーステーブル] モジュールが左側のナビゲーションウィンドウに表示されていない場合は、モジュールを追加できます。 DataStudio ページにモジュールを追加する方法の詳細については、「表示される DataStudio モジュールの調整」をご参照ください。DataStudio の特定のワークフローで MaxCompute テーブルを作成する
DataWorks は、ワークフローごとにコードを整理および管理します。 特定のワークフローでビジネスに関連するテーブルを作成できます。 ワークフローがない場合は、作成できます。 ワークフローの作成方法については、「ワークフローの作成」をご参照ください。 ワークフローが使用可能な場合は、目的のワークフローの名前を右クリックし、 を選択します。 表示されたダイアログボックスで、必要な情報を構成し、[作成] をクリックします。
MaxCompute テーブルの基本情報を構成する
上記の操作を実行した後、テーブル構成タブでテーブルに関する情報を構成できます。 タブでは、DDL 文を実行するか、DataWorks のコードレス UI を使用して、テーブルに関する情報を構成できます。
DDL 文を実行してテーブルを構成する
テーブル構成タブで
アイコンをクリックし、MaxCompute の標準テーブル作成文を実行してテーブルスキーマを生成できます。 MaxCompute の標準テーブル作成文については、「テーブル操作」をご参照ください。 テーブルスキーマが生成されると、DataWorks はテーブル構成タブのテーブルの構成を自動的に記入します。 コードを書いてテーブルを開発することに慣れている場合は、この方法を使用できます。説明テーブルの名前は、テーブル構成タブにアクセスする前に構成されます。 DDL 文でテーブル名を変更することはできません。 DDL 文でテーブル名を変更すると、エラーが報告されます。
DDL 文を実行することで、テーブルの物理プロパティのみを定義できます。 テーブルが作成され、テーブルの構成がテーブル構成タブに自動的に記入された後、テーブル構成タブに再度移動して、テーブルのビジネス関連プロパティを構成できます。
DataWorks のコードレス UI を使用してテーブルを構成する
構成ガイドに基づいて、テーブル構成タブでテーブルの関連プロパティを構成できます。 コードレス UI を使用したい場合は、この方法を使用できます。 以下の内容は、コードレス UI を使用してテーブルの関連プロパティを構成する方法を示しています。
[全般] セクションのパラメーターを構成します。
次の表にパラメーターを示します。パラメーター
説明
表示名
テーブルの表示名。
テーマ
テーブルの保存と管理に使用されるフォルダー。 テーブルを保存するために、レベル 1 とレベル 2 のフォルダーを指定できます。 [レベル 1 のテーマ] パラメーターと [レベル 2 のテーマ] パラメーターを使用して、業務カテゴリに基づいてテーブルを分類できます。 同じ業務カテゴリのテーブルを同じフォルダーに保存できます。
説明DataStudio ページの [ワークスペーステーブル] ペインのレベル 1 とレベル 2 のテーマは、フォルダー内のテーブルをより適切に管理するのに役立ちます。 テーマ別に、ワークスペーステーブル ペインで現在のテーブルをすばやく見つけることができます。 テーマがない場合は、作成できます。 テーマの作成方法については、「テーブルの設定の管理」トピックの テーブルのフォルダーを作成または管理する セクションをご参照ください。
[物理モデル] セクションのパラメーターを構成します。
次の表にパラメーターを示します。パラメーター
説明
レベル
テーブルが属する物理データ層。 デフォルトでは、DataWorks のデータウェアハウスは、オペレーショナルデータストア (ODS)、ディメンション (DIM)、データウェアハウス詳細 (DWD)、データウェアハウスサマリー (DWS)、およびアプリケーションデータサービス (ADS) のデータ層に分割されます。 業務カテゴリに基づいて、特定のデータ層にテーブルを保存できます。
説明ビジネス要件に基づいてデータ層を作成することもできます。 詳細については、「テーブルの設定の管理」をご参照ください。
カテゴリ
テーブルが属する業務カテゴリ。 カテゴリは、ビジネス要件に基づいてテーブルをより細かく分類するのに役立ちます。 たとえば、ほとんどの場合、基本業務カテゴリ、高度な業務カテゴリ、または別の目的のカテゴリを使用してテーブルを分類できます。
説明ビジネス要件に基づいてカスタムカテゴリを作成することもできます。 詳細については、「テーブルの設定の管理」をご参照ください。
TTL
テーブルの Time to Live (TTL) 期間。
MaxCompute テーブルの TTL 期間の詳細については、「ライフサイクル」をご参照ください。
MaxCompute テーブルの TTL 関連操作の詳細については、「ライフサイクル管理操作」をご参照ください。
パーティションタイプ
テーブルがパーティションテーブルか非パーティションテーブルかを指定します。 パーティションテーブルと非パーティションテーブルの MaxCompute テーブルの詳細については、「パーティション」をご参照ください。
テーブルタイプ
テーブルが内部テーブルか外部テーブルかを指定します。 内部テーブルのデータをクエリする場合、実際のデータが内部テーブルにインポートされるため、クエリ速度は高速です。 外部テーブルを使用してテーブルのデータをクエリする場合、外部テーブルにデータをインポートする必要なくデータをクエリできます。 外部テーブルを使用してデータをクエリする場合、使用するメモリが少なくなります。 内部テーブルと外部テーブルの MaxCompute テーブルの詳細については、「テーブル」をご参照ください。
[スキーマ] セクションのパラメーターを構成します。
次の表にパラメーターを示します。パラメーター
説明
データ型
フィールドのデータ型。 [データ型] ドロップダウンリストから、MaxCompute でサポートされているデータ型のみを選択できます。 MaxCompute でサポートされているデータ型の詳細については、「データ型エディション」をご参照ください。
フィールドセキュリティレベル
フィールドのセキュリティレベル。 このパラメーターは、MaxCompute プロジェクトでラベルベースのアクセス制御を有効にしている場合にのみ必須です。 MaxCompute テーブルのフィールドのセキュリティレベルの詳細については、「ラベルベースのアクセス制御」をご参照ください。
プライマリキーフィールド
テーブルのプライマリキー。 MaxCompute テーブルはプライマリキーをサポートしていません。 この場合、このパラメーターで指定するプライマリキーは、ビジネスの観点からのみテーブルを管理するために使用されます。
MaxCompute テーブルをコミットしてデプロイする
テーブルのスキーマを定義した後、テーブルを開発環境と本番環境にコミットする必要があります。
ベーシックモードのワークスペースまたはスタンダードモードのワークスペースで MaxCompute テーブルをコミットおよびデプロイする際に注意する必要がある項目:
ベーシックモードのワークスペースの場合: MaxCompute テーブルを本番環境にのみコミットする必要があります。
スタンダードモードのワークスペースの場合: [ワークスペース管理者] ロールまたは [O&M] ロールが割り当てられているユーザーのみが、MaxCompute テーブルを本番環境にデプロイできます。 MaxCompute テーブルを本番環境にデプロイする場合は、必要な権限が付与されている必要があります。 権限付与の詳細については、「RAM ユーザーをワークスペースにメンバーとして追加し、メンバーにロールを割り当てる」をご参照ください。
ワークスペースモードの詳細については、「ベーシックモードのワークスペースとスタンダードモードのワークスペースの違い」をご参照ください。
操作 | 説明 |
[開発環境からロード] | 開発環境からテーブル情報をロードし、現在のページにテーブル情報を表示します。 説明 この操作は、テーブルが開発環境にコミットされた後にのみ実行できます。 この操作を実行すると、開発環境のテーブル情報が現在のページのテーブル情報を上書きします。 |
[開発環境にコミット] | ワークスペースの開発環境にテーブルをコミットします。 これは、開発環境の MaxCompute データソースとして DataWorks に追加された MaxCompute プロジェクトに現在のテーブルを作成する必要があることを示しています。 テーブルがコミットされると、次の操作を実行できます。
|
[本番環境からロード] | 本番環境からテーブル情報をロードし、現在のページにテーブル情報を表示します。 説明 この操作は、テーブルが本番環境にコミットされた後にのみ実行できます。 この操作を実行すると、本番環境のテーブル情報が現在のページのテーブル情報を上書きします。 |
[本番環境にコミット] | ワークスペースの本番環境にテーブルをコミットします。 これは、本番環境の MaxCompute データソースとして DataWorks に追加された MaxCompute プロジェクトに現在のテーブルを作成する必要があることを示しています。 テーブルがコミットされると、次の操作を実行できます。
|
MaxCompute テーブルへのデータの書き込みと MaxCompute テーブルからのデータのエクスポート
このセクションでは、MaxCompute テーブルへのデータの書き込みと MaxCompute テーブルからのデータのエクスポート方法について説明します。
MaxCompute テーブルにデータを書き込む
データ同期タスクと MaxCompute ノードのタスクを使用して、MaxCompute テーブルにデータを書き込むことができます。 DataWorks では、データアップロード機能を使用して、オンプレミスマシンから MaxCompute テーブルにデータをインポートすることもできます。
MaxCompute テーブルからデータをエクスポートする
DataStudio で MaxCompute テーブルのデータをクエリした後、クエリ結果ページの [ダウンロード] 機能を使用して、データをオンプレミスマシンにダウンロードできます。 デフォルトでは、一度に最大 10,000 件のデータレコードをダウンロードできます。 DataWorks では、テナント管理者とテナントセキュリティ管理者が、Security Center の データクエリと分析の制御ページで、一度にダウンロードできるデータレコードの最大数を構成できます。
エクスポートするデータレコード数が 10,000 件を超える場合は、MaxCompute クライアントで Tunnel コマンドを実行してデータをエクスポートできます。
MaxCompute テーブルのデータのクエリ
ODPS SQL ノードまたは アドホッククエリ機能を使用して、SQL 文を実行することで、MaxCompute テーブルのデータをクエリできます。
事前設定されたデータアクセス権限
ベーシックモードのワークスペースを使用する場合、開発環境と本番環境間のきめ細かい権限管理とデータの隔離はサポートされていません。 この例では、スタンダードモードのワークスペースが使用されます。
次の表に、ワークスペースにメンバーとして追加された RAM ユーザーの事前設定されたデータアクセス権限を示します。
権限タイプ | 説明 |
開発環境の MaxCompute プロジェクトに対する権限 | ワークスペースで RAM ユーザーに組み込みのワークスペースレベルのロールを割り当て、開発環境で MaxCompute プロジェクトをワークスペースに関連付けると、RAM ユーザーには、MaxCompute プロジェクトのマッピングされたロールの権限が自動的に付与されます。 デフォルトでは、RAM ユーザーは開発環境の MaxCompute プロジェクトに対する権限を持っています。 ただし、RAM ユーザーは、本番環境でワークスペースに関連付けられている MaxCompute プロジェクトに対する権限を持っていません。 |
本番環境の MaxCompute プロジェクトに対する権限 | スケジューリングアクセス ID として使用される RAM ユーザーは、本番環境の MaxCompute プロジェクトに対して高い権限を持っています。 他の RAM ユーザーは、本番環境の MaxCompute プロジェクトに対する権限を持っていません。 本番環境で MaxCompute テーブルに対して操作を実行するには、Security Center に移動して必要な権限をリクエストする必要があります。 DataWorks は、デフォルトのリクエスト処理手順を提供します。 DataWorks では、管理権限が付与されたユーザーがリクエスト処理手順をカスタマイズすることもできます。 DataWorks は、デフォルトのリクエスト処理プロシージャを提供します。また、DataWorks では、管理者権限を付与されたユーザーがリクエスト処理プロシージャをカスタマイズすることもできます。 |
MaxCompute の権限管理の詳細については、「MaxCompute 計算エンジンインスタンスのデータに対する権限の管理」をご参照ください。
データアクセス動作
MaxCompute では、プロジェクトを跨いでテーブルをクエリできます。 DataStudio ページでプロジェクト名を指定することで、本番環境でワークスペースに関連付けられている MaxCompute プロジェクトのデータをクエリできます。 次の表に、プロジェクトを跨いでテーブルをクエリする方法と、さまざまな環境でテーブルにアクセスするために使用できるアカウントを示します。
DataStudio の [計算リソース] ページで、開発環境と本番環境の MaxCompute データソースとして DataWorks に追加された MaxCompute プロジェクトと、MaxCompute プロジェクトの環境を構成するために使用されるアカウントを表示できます。 詳細については、「データ開発前の準備: データソースまたはクラスターを DataStudio に関連付ける」をご参照ください。
スタンダードモードのワークスペースの場合、デフォルトでは タスク実行者 の個人 ID が開発環境で MaxCompute タスクを実行するために使用され、Alibaba Cloud アカウントがスケジューリングアクセス ID として使用されて本番環境で MaxCompute タスクを実行します。 詳細については、「MaxCompute 計算リソースのバインド」をご参照ください。
サンプルコード | 開発環境の実行アカウント (DataStudio と開発環境の Operation Center) | 本番環境の実行アカウント (本番環境の Operation Center) |
開発環境の MaxCompute プロジェクトのテーブルにアクセスする: | タスク実行者の個人の Alibaba Cloud アカウントは、開発環境の MaxCompute プロジェクトのテーブルにアクセスするために使用されます。
| スケジューリングアクセス ID は、開発環境の MaxCompute プロジェクトのテーブルにアクセスするために使用されます。 |
本番環境の MaxCompute プロジェクトのテーブルにアクセスする: | タスク実行者の個人の Alibaba Cloud アカウントは、本番環境の MaxCompute プロジェクトのテーブルにアクセスするために使用されます。 説明 本番環境のデータに対するセキュリティ制御のため、個人の Alibaba Cloud アカウントを使用して本番環境の MaxCompute プロジェクトのテーブルにアクセスすることはできません。 個人の Alibaba Cloud アカウントを使用して本番環境の MaxCompute プロジェクトのテーブルにアクセスするには、Security Center に移動して権限をリクエストしてください。 DataWorks は、デフォルトのリクエスト処理手順を提供します。 DataWorks では、管理権限が付与されたユーザーがリクエスト処理手順をカスタマイズすることもできます。 | スケジューリングアクセス ID は、本番環境の MaxCompute プロジェクトのテーブルにアクセスするために使用されます。 |
開発環境などの目的の環境の MaxCompute プロジェクトで次の文を実行して、MaxCompute プロジェクトのテーブルにアクセスする: | 文が開発環境の MaxCompute プロジェクトで実行される場合、ノード実行者の個人の Alibaba Cloud アカウントを使用して、開発環境の MaxCompute プロジェクトのテーブルにアクセスできます。 | 文が本番環境の MaxCompute プロジェクトで実行される場合、スケジューリングアクセス ID を使用して、本番環境の MaxCompute プロジェクトのテーブルにアクセスできます。 |
MaxCompute データ資産を表示する
このセクションでは、MaxCompute データ資産を表示する方法について説明します。
テナント内の本番環境のテーブルを表示する
DataWorks コンソールの DataStudio ページの テナントテーブル ペインで、現在のリージョンの Alibaba Cloud アカウントの本番環境にあるすべてのテーブルを表示できます。
メタデータを表示する
データマップ に移動して、MaxCompute テーブルの詳細とメタデータを表示できます。
テーブル系列を表示する
複数の MaxCompute テーブルを同時に管理する
このセクションでは、複数の MaxCompute テーブルを同時に管理する方法について説明します。
複数の MaxCompute テーブルを同時に削除する
データマップの マイデータ ページに移動し、自分が所有者である複数の MaxCompute テーブルを同時に削除できます。
本番環境のデータに対するセキュリティ制御のため、本番環境でコマンドを直接実行してテーブルを削除することはできません。 別のユーザーが所有するテーブルを削除する場合は、Security Center に移動して必要な権限をリクエストする必要があります。
複数のテーブルの所有者を同時に変更する
データマップの マイデータ ページに移動し、複数のテーブルの所有権を別のユーザーに同時に転送できます。
複数のテーブルの TTL 期間を同時に変更する
データマップの マイデータ ページに移動し、自分が所有者である複数の MaxCompute テーブルの TTL 期間を同時に変更できます。
[ワークスペーステーブル] ペインに移動して、単一テーブルの TTL 期間を変更できます。 詳細については、「MaxCompute テーブルの作成」をご参照ください。
特定のワークフローのテーブルを管理する
ワークスペーステーブル ペインで作成されたテーブルを、テーブルをインポートすることで DataStudio の特定のワークフローに追加できます。 ワークフローごとにテーブルを管理し、ワークフロー内のビジネスに関連するテーブルを表示できます。 次の図は、MaxCompute 計算エンジンのテーブルを特定のワークフローに追加する手順を示しています。
参照: 特定のワークフローで SELECT 文を使用して特定のテーブルがクエリされることを示します。
書き込み: 特定のワークフローで INSERT OVERWRITE 文を使用して特定のテーブルにデータが書き込まれることを示します。