すべてのプロダクト
Search
ドキュメントセンター

DataWorks:SQL クエリの実行によるデータのクエリ

最終更新日:May 23, 2025

データを効率的にクエリおよび分析するために、SQL 文を実行できます。たとえば、SQL 文を実行して、MaxCompute、E-MapReduce(EMR)Hive、Hologres などのデータソースからデータをクエリできます。このトピックでは、SQL 文を実行してデータソースからデータをクエリする方法について説明します。

前提条件

  • データソースが DataWorks ワークスペースに追加されています。詳細については、「データソースの追加と管理」をご参照ください。

  • DataAnalysis サービスの特定のデータソースに対するクエリ権限が付与されています。

  • アカウントがワークスペースのメンバーとして追加され、データアナリスト、モデルデザイナー、開発、O&M、ワークスペース管理者、またはワークスペース所有者のロールがメンバーに割り当てられています。詳細については、「ワークスペースメンバーの追加とロールの割り当て」をご参照ください。

    説明

    SQL クエリ機能を使用して、クエリ権限を持つワークスペース内のデータソースのデータのみをクエリできます。この機能を使用してデータをクエリするには、事前にワークスペース管理者に連絡して、アカウントをメンバーとしてワークスペースに追加し、上記のロールのいずれかをアカウントに割り当てる必要があります。

注意事項

SQL 文に基づくクエリをサポートするデータソースの種類

次の種類のデータソースは、SQL 文に基づくクエリをサポートしています:MaxComputeHologresEMR HiveEMR Spark SQLEMR ImpalaEMR PrestoEMR TrinoCDH HiveStarRocksClickHouseAnalyticDB for MySQL 3.0AnalyticDB for PostgreSQLMySQLPostgreSQLTablestoreOracle、および SQL Server

説明

MaxCompute および Hologres データソースのデータのみを、エグゼキュータ ID を使用してクエリできます。

権限管理

  • データソースの権限

    • 標準モードのワークスペースは、本番環境と開発環境を提供します。開発環境または本番環境のどちらでデータをクエリする場合でも、テナント管理者またはテナントレベルのセキュリティ管理者は、データクエリと分析の制御 ページで、必要な権限をアカウントに手動で付与する必要があります。

    • 基本モードのワークスペースでは、データアナリストロールが割り当てられている場合、SQL クエリページのデータをクエリする権限がありません。 SQL クエリページでデータをクエリするには、テナント管理者またはテナントレベルのセキュリティ管理者が データクエリと分析の制御 ページで必要な権限をアカウントに手動で付与する必要があります。

      説明

      基本モードのワークスペースと標準モードのワークスペースの違いについては、「基本モードのワークスペースと標準モードのワークスペースの違い」をご参照ください。

  • データソースのホワイトリストベースのアクセス制御

    MaxCompute プロジェクトでホワイトリストベースのアクセス制御が有効になっている場合、料金計算、データダウンロード、ディメンションテーブルの使用、データアップロードなどの DataAnalysis が提供する機能を使用して MaxCompute プロジェクトのテーブルで操作を実行すると、エラーが発生する可能性があります。 DataAnalysis が MaxCompute プロジェクトにアクセスできるようにするには、特定のリージョンの DataAnalysis に関する IP アドレス情報を MaxCompute プロジェクトの IP アドレスホワイトリストに事前に追加する必要があります。詳細については、「付録:DataAnalysis の IP アドレスホワイトリスト」をご参照ください。

ステップ 1:ディレクトリの追加

おすすめのディレクトリを追加するか、クエリ権限を持つデータソースのテーブルを新しいディレクトリに追加できます。新しいディレクトリにテーブルを追加すると、ディレクトリ内のテーブルを表示できます。また、テーブルのスキーマを表示し、簡単な操作を実行してテーブルの SQL 文を生成することもできます。

  1. SQL クエリページに移動します。

    DataWorks コンソール にログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、[データ分析とサービス] > [DataAnalysis] を選択します。表示されたページで、[DataAnalysis に移動] をクリックします。表示されたページの左側のナビゲーションウィンドウで、[SQL クエリ] をクリックします。

  2. ディレクトリを追加します。

    デフォルトでは、SQL クエリページには [マイファイル][他のユーザーのファイル] ディレクトリのみが表示されます。検索ボックスの右側にある image アイコンをクリックして、ビジネス要件に基づいてディレクトリを追加できます。次の種類のディレクトリを追加できます。ディレクトリを追加すると、ディレクトリ内のテーブルを表示できます。また、テーブルのスキーマを表示し、簡単な操作を実行してテーブルの SQL 文を生成することもできます。

    説明
    • [他のユーザーのファイル]:他のメンバーによって保存された SQL クエリファイルを保存します。ファイルは、現在のワークスペースのすべてのメンバーが表示できます。

    • 最大 8 つのディレクトリを追加できます。

ステップ 2:SQL クエリファイルの作成

SQL クエリファイルを作成し、SQL クエリ文を記述して、実行するために特定のデータソースにコミットできます。

  1. SQL クエリファイルを作成します。

    • SQL クエリファイルを手動で作成します。

      1. SQL クエリページの左側のナビゲーションウィンドウで、ポインターを [マイファイル] の右側にある image アイコンに移動し、[ファイルの作成] を選択します。

      2. [ファイルの作成] ダイアログボックスで、[ファイル名] パラメーターと [保存先フォルダー] パラメーターを構成します。

      3. [OK] をクリックします。

    • 一時 SQL クエリファイルを作成します。

      • ウェルカムページの上にある image アイコンをクリックして、一時 SQL クエリファイルを作成します。

      • 初めて SQL クエリページにアクセスしたとき、またはページに SQL クエリファイルが表示されていない場合は、右側にある [SQL クエリの作成] をクリックして SQL クエリファイルを作成します。

  2. SQL クエリファイルのデータソースを選択します。

    SQL クエリファイルを作成した後、ページの右上隅にある image アイコンをクリックして、SQL クエリファイルのデータソースを選択します。次の表に、ポップオーバーで構成する必要のあるパラメーターを示します。

    パラメーター

    説明

    [ワークスペース]

    image アイコンをクリックし、目的のデータソースが存在するワークスペースを選択します。

    [データソースの種類]

    image アイコンをクリックし、目的のデータソースの種類を選択します。

    [データソース名]

    image アイコンをクリックし、開発環境または本番環境に追加されたデータソースを選択します。

    [アクセス ID モード]

    選択したデータソースのデータをクエリするために使用される ID。有効な値:

    • [エグゼキュータ ID]:DataWorks にログインするために使用される現在の Alibaba Cloud アカウントは、SQL 文を実行してデータソースからデータをクエリするために使用されます。現在の Alibaba Cloud アカウントにデータソースへのデータアクセス権限がある場合、データソースはクエリ結果を返します。

      説明

      [エグゼキュータ ID] オプションは、MaxCompute および Hologres データソースでのみ使用できます。

    • [データソースのデフォルトアクセス ID]

      • 現在のログインアカウントがデフォルトのアクセス ID と同じ場合

        追加の承認なしで、現在のデータソースのデフォルトのアクセス ID を使用して SQL 文を直接実行できます。

      • 現在のログインアカウントがデフォルトのアクセス ID と異なる場合

        • 現在のログインアカウントに選択したデータソースの権限がある場合、アカウントを使用して SQL 文を直接実行できます。

        • 現在のログインアカウントが、選択したデータソースに対する権限を持っていない場合、ワークスペース管理者ロールが割り当てられているユーザーは、現在のログインアカウントに、選択したデータソースに対する権限と、デフォルトのアクセス ID の権限を付与する必要があります。その後、現在のログインアカウントは SQL 文を実行できます。詳細については、「データクエリと分析コントロール」をご参照ください。

    構成が完了したら、[OK] をクリックして、データソースに関する構成情報を保存します。

    説明

    システム管理 ページで、SQL クエリタスクの実行に使用するリソースグループを変更できます。

  3. SQL コードを変更します。

    説明

    SQL コードを変更すると、DataWorks は、アクセス ID が元のコードで権限を持っている MaxCompute テーブルを自動的に補足します。

ステップ 3:SQL 文の実行

SQL エディターで、データソースのデータをクエリするために使用するコードを記述します。次に、ツールバーの実行アイコンをクリックします。[結果] タブでクエリ結果を表示できます。

image

番号

操作

説明

1

実行

[実行] をクリックして、すべてまたは選択した SQL コードを実行します。

2

実行

コード行の左側にある image アイコンをクリックして、このコード行を実行します。

3

[停止]

実行中の SQL コードを停止します。

4

[保存]

現在の SQL クエリファイルを保存します。

5

[フォーマット]

[フォーマット] アイコンをクリックして、記述した SQL コードを標準化します。

6

[バージョン]

[その他] > [バージョン] を選択して、自動保存されたコードと手動保存されたコードの違いを表示し、保存するコードを選択します。

7

[コストの見積もり]

単一の SQL 文を実行すると、[コストの見積もり] ダイアログボックスが表示され、見積もりコストが表示されます。 [その他] > [コストの見積もり] を選択して、記述したすべての SQL コードの見積もりコストを表示することもできます。

説明

選択したデータソースの種類が MaxCompute の場合にのみ、SQL 文の実行コストを見積もることができます。

その他の操作

クエリ結果に対する操作の実行

SQL クエリ文が実行された後、[結果] セクションで、実行ログ、実行結果、およびクエリ結果に対応する SQL 文を表示できます。また、クエリ結果を折れ線グラフ、縦棒グラフ、横棒グラフ、円グラフ、およびクロステーブルで表示することもできます。

操作

スクリーンショット

説明

クエリ結果の表示

image.png

[エクスポート] をクリックして、次のいずれかの方法でクエリ結果をエクスポートできます。

  • ローカルファイル:クエリ結果はオンプレミスマシンにダウンロードされます。承認なしでダウンロード操作を実行できます。

    説明
    • DataWorks Advanced Edition のみ、クエリ結果をオンプレミスマシンにエクスポートできます。

    • オンプレミスマシンにダウンロードできる SQL クエリ結果レコードの最大数は、DataWorks Advanced Edition によって異なります。 DataWorks Standard Edition:200,000。 DataWorks Professional Edition:2,000,000。 DataWorks Enterprise Edition:5,000,000。ファイルサイズは 1 GB を超えることはできません。テナント管理者、テナントセキュリティ管理者、およびワークスペース管理者ロールが割り当てられている RAM ユーザーは、セキュリティセンターの データクエリと分析の制御 タブに移動して、表示できる SQL クエリ結果レコード数の上限、ダウンロードできる SQL クエリ結果レコード数、およびユーザーがデータをダウンロードできるかどうかを指定できます。

    • MaxCompute および EMR コンピュートエンジンのみ、クエリ結果をオンプレミスマシンにエクスポートできます。 MaxCompute プロジェクトでプロジェクトデータ保護機能が有効になっている場合、クエリ結果のダウンロードは失敗します。プロジェクトデータ保護機能の詳細については、「プロジェクトデータ保護」をご参照ください。

  • MaxCompute テーブル:クエリ結果はオンライン MaxCompute テーブルとして保存されます。クエリ結果をオンプレミスマシンにダウンロードしてから結果をアップロードする必要はありません。ビジネス要件に基づいてテーブルのライフサイクルを指定できます。

  • スプレッドシート:クエリ結果を [ワークブック] に同期し、クエリ結果に対してさらに操作を実行できます。詳細については、「データの分析」をご参照ください。

  • スプレッドシートと共有:クエリ結果を [ワークブック] に同期し、特定のユーザーと結果を共有できます。詳細については、「ワークブックの共有」をご参照ください。

クエリ結果の視覚化

image.png

クエリ結果を、折れ線グラフ、縦棒グラフ、横棒グラフ、円グラフなど、さまざまな種類のグラフで表示できます。また、クエリ結果をデータカードとして保存して、独自の視覚的なナレッジベースを構築することもできます。データカードを選択して、データレポートをすばやく作成し、ビジネス要件に基づいてパーソナライズされた製品を簡単に作成できます。

クエリ結果に対応する SQL 文の表示

sql

クエリ結果に対応する SQL 文を表示できます。また、SQL 文をコピーしてコードエディターに貼り付けることもできます。

SQL クエリファイルの管理

SQL クエリページでは、SQL クエリファイルをまとめて管理できます。

SQL查询

項目

説明

テーブルを検索する

1 でマークされたエリアで、検索ボックスにテーブル名を入力し、搜索 アイコンをクリックしてテーブルを検索できます。

コードの検索

1 でマークされたエリアで、image.png アイコンをクリックしてキーワードを入力し、コードを検索できます。

SQL ステートメントの実行履歴を表示する

1 でマークされたエリアで、历史 アイコンをクリックすると、SQL 文の実行履歴を表示できます。

ディレクトリの追加

1 でマークされたエリアで、image アイコンをクリックしてディレクトリを追加できます。推奨ディレクトリを追加したり、クエリ権限を持つデータソースのテーブルを新しいディレクトリに追加したりできます。ディレクトリを追加した後、ディレクトリ内の SQL ファイルまたはデータテーブルを表示できます。また、テーブルのスキーマを表示し、簡単な操作を実行してテーブルの SQL 文を生成することもできます。

マイファイル

2 でマークされたエリアには、保存した SQL クエリファイルが [マイファイル] ディレクトリに保存されます。ファイルを右クリックし、[共有] を選択して、特定のワークスペースとファイルを共有できます。分享: ファイルが共有されていることを示します。ファイルが共有されているワークスペースのすべてのメンバーは、[他のユーザーのファイル] ディレクトリでファイルを表示できます。

他のユーザーのファイル

2 でマークされたエリアには、他のメンバーによって保存された SQL クエリファイルが「他のユーザーのファイル」ディレクトリに保存されます。これらのファイルは、現在のワークスペースのすべてのメンバーが表示できます。

マイ MaxCompute テーブル

2 でマークされたエリアで、image アイコンをクリックして、[マイ MaxCompute テーブル] ディレクトリを追加できます。マイ MaxCompute テーブルディレクトリには、アカウント内の MaxCompute テーブルが保存されます。開発環境と本番環境のテーブルが含まれます。

お気に入り

2 でマークされたエリアで、image アイコンをクリックして、[お気に入り] ディレクトリを追加できます。お気に入りディレクトリには、お気に入りに追加されたテーブルが保存されます。テーブルをお気に入りに追加するには、テーブルを右クリックし、[お気に入りに追加] を選択します。

パブリックテーブル

2 でマークされたエリアでは、image アイコンをクリックして、[パブリックテーブル] ディレクトリを追加できます。パブリックテーブルディレクトリには、DataAnalysis によって提供されるテーブルが格納されます。これらのテーブルを使用すると、必要な権限を申請することなく、SQL クエリ機能を試すことができます。

カスタム設定

设置 アイコンを SQL クエリ ページの左下隅でクリックすると、[設定] タブに移動して設定をカスタマイズできます。

  • テーマ: このセクションでは、SQL クエリのテーマを指定できます。

  • コードエディターの設定: このセクションでは、コードスタイルとコードヒントを指定し、Enter キーを押したときにシステムがコード作成時にプロンプトで表示される候補を入力できるようにするかどうかを指定できます。

  • SQL 関連操作の設定: このセクションでは、各 SQL 文が実行されるデフォルトモードを指定できます。

FAQ

SQL クエリページで選択できるデータソースの数が、現在のワークスペースに関連付けられているデータソースの数と一致しません。なぜですか?

SQL クエリ機能は、テナント管理者またはテナントレベルのセキュリティ管理者が セキュリティセンター でお客様のアカウントに権限を付与したデータソースのみをサポートします。 特定のデータソースに対するクエリ権限がない場合は、管理者に連絡して、セキュリティセンターでデータソースに対するクエリ権限をアカウントに付与してもらうことができます。

  • 標準モードのワークスペース

    標準モードのワークスペースの開発環境または本番環境のいずれでデータをクエリする場合でも、テナント管理者またはテナントレベルのセキュリティ管理者は、[データクエリおよび分析コントロール] ページで、必要な権限をアカウントに手動で付与する必要があります。

  • 基本モードのワークスペース

    基本モードのワークスペースでは、データアナリスト ロールが割り当てられている場合、SQL クエリ ページでデータをクエリする権限がありません。[データ クエリおよび分析 コントロール] ページで、テナント管理者またはテナントレベルのセキュリティ管理者が、必要な権限をアカウントに手動で付与する必要があります。

ディレクトリ内のテーブルを表示するにはどうすればよいですか?

クエリ権限を持つデータソース内のテーブルを [新しいディレクトリに追加] できます。 ディレクトリに多数のテーブルが含まれている場合は、特定の条件に基づいてテーブルを検索できます。

  1. SQL クエリページで、検索ボックスの右側にある image アイコンをクリックします。 [DataMap - メタデータ] タブをクリックし、目的のデータソースを見つけて、ディレクトリとして追加します。

  2. ディレクトリツリーで追加されたデータソースをクリックすると、データソース内のデータテーブルが表示されます。

    1. テーブルの名前をクリックすると、テーブルの基本情報と詳細が表示されます。

    2. テーブルを右クリックし、[SQL ステートメントの生成][詳細の表示]、または [お気に入りに追加] を選択して、テーブルで対応する操作を実行します。

      image

      説明

      頻繁に使用するテーブルの場合は、[お気に入り] にテーブルを追加し、[お気に入り] で表示できます。

クエリ結果の表示とダウンロードの切り替え、および表示とダウンロードできる SQL クエリ結果レコードの最大数を決定するパラメーターを構成するにはどうすればよいですか?

[セキュリティセンター][データクエリおよび分析コントロール] ページの [クエリ結果コントロール] タブで、表示およびダウンロードできる SQL クエリ結果レコードの最大数を指定できます。

  1. セキュリティセンターページに移動します。

    DataWorks コンソール にログオンします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、[データガバナンス] > [セキュリティセンター] を選択します。 表示されるページで、[セキュリティセンターに移動] をクリックします。

  2. セキュリティセンターの左側のナビゲーションウィンドウで、[セキュリティポリシー] > [データクエリおよび分析コントロール] を選択します。 データクエリおよび分析コントロールページのクエリ結果コントロールタブで、クエリ結果ポリシーを構成します。

    image