SQL 文を使用して、MaxCompute、EMR Hive、Hologres などのデータソースのデータをすばやくクエリ、分析できます。このトピックでは、SQL 文を使用してデータソースをクエリする方法について説明します。
DataWorks では、最新の機能にアクセスし、より良いユーザーエクスペリエンスを享受するために、新しいバージョンのデータ分析をお試しいただくことを推奨します。
サポートされるデータソース
SQL クエリ機能は、MaxCompute、Hologres、EMR、CDH、StarRocks、ClickHouse、SelectDB、Doris、AnalyticDB for MySQL 3.0、AnalyticDB for PostgreSQL、Tablestore、MySQL、PostgreSQL、Oracle、SQL Server などのデータソースをサポートしています。
この機能は、ワークスペースに追加されたデータソースのみをサポートします。
データソースの権限
データソースのスコープ
権限を持つワークスペース内のデータソースからのみデータをクエリできます。データアナリスト、モデル設計者、開発者、オペレーター、ワークスペース管理者、またはプロジェクトオーナーとして ワークスペースに追加 してもらうには、管理者に連絡してください。
データソースのアクセス権限
データソースへのアクセスは、次の 2 つの ID モードをサポートしています。
アクセス ID モード | 説明 | サポートされるデータソース | 認可 |
[実行ロール] | 現在 DataWorks にログインしている Alibaba Cloud アカウント。 | MaxCompute および Hologres。 | 指定された MaxCompute プロジェクトまたは Hologres インスタンスの管理者に、メンバーのアクセス権限を付与するように依頼してください。 |
[デフォルトのデータソースアクセスアイデンティティ] | データソースの作成時に設定されたアクセス ID。 | すべてのデータソース。 | 現在のログインアカウントがデータソースのデフォルトアクセス ID でない場合は、ワークスペース管理者ロールを持つユーザーに、現在の Alibaba Cloud アカウントにその ID を付与するように依頼してください。 |
MaxCompute プロジェクトで許可リストベースのアクセス制御が有効になっている場合は、必要な IP アドレス を MaxCompute プロジェクトの IP 許可リストに追加してください。
機能へのアクセス
DataWorks データ分析 にログインし、対象のリージョンに切り替えて、[データ分析を開始] をクリックします。
ナビゲーションバーに [新しいデータ分析に移動] が表示されている場合、レガシーデータ分析ページが表示されています。
(非推奨) ナビゲーションバーに [旧バージョンのデータ分析へ戻る] が表示されている場合は、それをクリックしてレガシーデータ分析ページに戻ります。
ステップ 1:ディレクトリの追加
システムが推奨するディレクトリや、権限のあるデータソースからテーブルをディレクトリに追加できます。ディレクトリを追加すると、ディレクトリ内のテーブルをすばやく表示したり、テーブルスキーマを表示したり、SQL クエリを生成したりできます。
SQL 分析ページで、ディレクトリの上にある検索ボックスの右側にある
ボタンをクリックして、ディレクトリを追加します。[データマップ - メタデータ]:Data Map で 収集 されたテーブルメタデータ。各データソースまたはコンピューティングリソースは、データセットとして追加できます。
[データマップ - データコレクション]:Data Map で特定のトピックのテーブルを集約する データコレクション。
[お気に入り]:Data Map でお気に入りに追加したテーブル。
[マイ MaxCompute テーブル]:現在のログインアカウントがオーナーであるすべての MaxCompute テーブル。
[パブリックデータ]:MaxCompute が提供する パブリックデータセット。テストデータをすばやく生成するのに利用できます。
説明最大 12 個のデータセットを追加できます。不要になったデータセットは削除できます。
ステップ 2:SQL クエリの作成
データカタログに基づくクエリ
データディレクトリを追加すると、対応するデータセットが左側のディレクトリツリーに表示されます。
左側のディレクトリツリーで、追加したデータセット (例:マイ MaxCompute テーブル) をクリックして展開します。
分析したいテーブルの名前を右クリックし、コンテキストメニューから [SQL ステートメントの生成] を選択します。テーブルに基づいた推奨 SQL 文が 一時ファイル として自動的に生成されます。
必要に応じて SQL 文を変更し、[保存] をクリックして一時ファイルを [マイファイル] に保存します。
データソースに基づくクエリ
左側のディレクトリツリーで、[マイファイル] にカーソルを合わせ、右側の
ボタンをクリックしてファイルを作成します。新しいファイルに SQL クエリ文を記述し、[マイファイル] に保存します。
説明SQL 文を編集すると、DataWorks は MaxCompute で権限を持つテーブルを自動的に提案します。
共有 SQL に基づくクエリ
左側のディレクトリツリーで [共有ファイル] をクリックすると、他のユーザーが共有した SQL ファイルが表示されます。SQL ファイルをクリックし、右側の詳細ページで [クリップボードにコピー] をクリックします。
パブリックデータセットに基づくクエリ
パブリックデータセットをディレクトリに追加した後、データセットをクリックします。右側の詳細ページの上部バーで、別のエンジンを選択して [SQL ステートメントの生成]できます。パブリックデータセットはテストに使用できます。
ステップ 3:クエリエンジンの設定とクエリの実行
SQL 詳細ページの右上隅にある
ボタンをクリックして、SQL クエリエンジンを設定します。パラメーター
説明
[ワークスペース]
実行エンジンが属するワークスペース。
重要ワークスペースに対するアクセス権限があることを確認してください。ない場合は、ワークスペース管理者に連絡して、 ワークスペースメンバーとして追加 してもらってください。
[データソースタイプ]
実行エンジンのタイプと名前。
重要SQL 文で特定のプロジェクトが指定されていない場合、実行エンジンがデフォルトのデータソースとして機能します。
[データソース]
[アイデンティティアクセスパターン]
SQL クエリのアクセスモードを選択します:
[実行ロール]:MaxCompute および Hologres エンジンでのみサポートされます。MaxCompute プロジェクトまたは Hologres インスタンスのメンバーであり、SELECT 権限を持っている場合に、このモードを推奨します。
[デフォルトのデータソースアクセスアイデンティティ]:現在のアカウントがデータソースの作成時に設定されたデフォルトアクセス ID と異なる場合は、現在のアカウントにその ID を付与してください。
スクリプト全体を実行するか、一部を選択して 部分実行 することができます。実行ボタンの横にあるドロップダウンアイコン
をクリックして、実行モードを切り替えます。シナリオに応じて異なるモードを選択できます。MaxCompute SQL 文が実行される前に、推定コストが表示されます。SQL ファイルの上にあるツールバーで をクリックしてコストを見積もることもできます。
実行モード
シナリオ
トリガー条件
適用可能なエンジン
クエリモード (LIMIT 10000)
データの迅速なプレビューとクエリ ロジックの検証。このモードは、初期のデータ探索のために結果の小さなサンプルのみを表示したいシナリオに適しています。
クエリ結果は 10,000 行以下、10 MB 以下で表示されます。
制限なし
クエリモード (全データ)
分析またはエクスポートのために完全な結果セットを取得。すべてのデータを処理して表示する必要がある場合に、このモードに切り替えます。
クエリ結果は 10,000 行を超えるか、10 MB を超える場合に表示されます。
MaxCompute、Hologres、StarRocks、ClickHouse、MySQL一時テーブルモード
複数ステップの複雑なクエリで結果を再利用。あるクエリの出力を次のクエリの入力として使用し、開発とデバッグの効率を向上させます。
クエリ結果は 10,000 行以下、10 MB 以下で表示され、自動的に一時テーブルに書き込まれます。
MaxComputeのみSQL 文が実行された後、クエリ結果ページで ランタイムログ、結果、および対応する SQL 文を表示できます。
クエリ結果エリアの右上隅にあるボタンをクリックして、ページのレイアウトを左右分割と上下分割で切り替えることができます。
ステップ 4:クエリ結果の可視化
クエリ結果の左側にあるツールバーで、ボタンをクリックすると、結果からビジュアルチャートが自動的に生成されます。
チャートの上にある Copilot ボタンをクリックして、 Copilot 機能を試すことができます。
ステップ 5:エクスポートと共有
データをローカルマシンにエクスポートしてから別のデータソースにインポートする必要がある場合は、より効率的で安定したデータ移行や同期には、Data Integration の バッチ同期タスク の使用を推奨します。
SQL クエリの結果は、次の形式でエクスポートできます:
ローカルファイル:クエリ結果を CSV、TXT、または XLS 形式でローカルマシンにダウンロードします。主な情報は次のとおりです:
項目
説明
ダウンロード制限
サポートされているのは MaxCompute および EMR エンジンのみです。詳細については、「ダウンロード行数の制限」をご参照ください。
MaxCompute プロジェクトで データダウンロード制限 が有効になっている (データダウンロードが禁止されている) 場合、データ分析経由でのデータダウンロードは失敗します。
重要このオプションが表示されない場合は、トラブルシューティングについては「よくある質問」をご参照ください。
[ダウンロード範囲]
[テーブルにのみデータを表示] または [すべてのデータ] のどちらをダウンロードするかを選択できます。
[テーブルにのみデータを表示]: 現在のページに表示されているデータ (デフォルトでは最大
10000行) のみをダウンロードします。[すべてのデータ]:ダウンロード制限内で、クエリで取得したすべての結果データをエクスポートします。
ダウンロード方法
ダウンロード方法には、[ダウンロードの承認]と[承認不要ダウンロード]の 2 つがあります。
承認後ダウンロード: リスク識別ルール を設定して、データダウンロード操作のリスクを識別できます。データをダウンロードする際には、データのコンプライアンスとセキュリティを確保するために、ダウンロード承認リクエストを送信する必要があります。
説明リスク識別ルールの設定と有効化は、DataWorks の Enterprise Edition でのみサポートされています。
承認なしでダウンロード:デフォルトでは、ダウンロードに承認は不要です。ダウンロードプロセス中に権限リクエストは必要ありません。
OSS:クエリ結果を Alibaba Cloud Object Storage Service (OSS) に指定された形式 (CSV や Parquet など) でエクスポートします。この方法は、大量のデータをアーカイブしたり、他のクラウドサービスと統合したりする場合に適しています。
この機能を初めて使用する場合、DataWorks が OSS リソースにアクセスすることを認可する必要があります。ファイルパス ドロップダウンリストで、プロンプトの 認可 リンクをクリックし、指示に従って RAM 認可を完了します。
パラメーター
説明
ファイルパス
右側のフォルダーボタンをクリックして、結果ファイルを保存する OSS バケットとディレクトリを選択します。
ファイル名
ファイル名は自動的に生成されます。手動で変更することもできます。
ファイルタイプ
エクスポートするファイル形式を選択します。サポートされている形式には、
csv、text、orc、parquetが含まれます。区切り文字
列間の区切り文字を指定します。デフォルトの区切り文字はカンマ (
,) です。エンコーディング
UTF-8やGBKなど、ファイルのエンコーディング形式を選択します。CU
このエクスポートタスクのコンピューティングユニット (CU) 数を設定します。デフォルト値は 1 CU です。
リソースグループ
このエクスポートタスクを実行するサーバーレスリソースグループを選択します。リソースグループが選択されていない場合は、デフォルトで データ分析 > システム管理 で設定された Data Integration のリソースグループが使用されます。
設定が完了したら、OK をクリックしてエクスポートタスクを開始します。タスク実行ページで、エクスポートの進行状況、ランタイムログ、および設定の詳細を表示できます。タスクが成功したら、OSS コンソールに移動して、エクスポートされたファイルをローカルマシンにダウンロードします。
MaxCompute テーブル:データをローカルマシンにダウンロードすることなく、クエリ結果を直接 MaxCompute テーブルにエクスポートできます。必要に応じて、テーブルのライフサイクルを設定できます。
このオプションは、MaxCompute エンジンでクエリする場合にのみ使用できます。
スプレッドシート:結果をスプレッドシートに保存して、さらに詳細な データ分析 を行えます。最新の分析結果を他のユーザーと 共有 することもできます。
関連操作
SQL ファイルのバージョン管理
SQL ファイル編集ページで、ツールバーの をクリックして、自動保存されたコードと手動で保存されたコードの違いを表示し、保存したいバージョンを選択することもできます。
コード検索
左側のディレクトリツリーの上にある
をクリックして、キーワードでコードを検索します。この機能は、DataWorks Standard Edition 以降でのみ利用可能です。
実行履歴の表示
左側のディレクトリツリーの上にある
をクリックして、SQL クエリの実行履歴を表示します。
よくある質問
データソースのデフォルトアクセス ID を使用してアクセス権を付与する方法
セキュリティセンターに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、[セキュリティセンターに移動] をクリックします。
左側メニューで、 をクリックして、データ分析のアクセス制御ページに移動します。
対象のワークスペースに切り替え、対象のデータソースを見つけ、右側の認可ボタンをクリックしてアクセスを許可します。
SQL クエリの実行エラー
実行中に This node can only run on exclusive resource groups というエラーが発生した場合は、で、対応するエンジンに対してリソースグループのスケジューリングとData Integration リソースグループを設定します。
クエリ結果の表示またはダウンロードが制限されている場合
SQL クエリの結果は、限られた行数しか表示されません。次の手順に従って、表示制限を最大に調整します。ダウンロード機能も管理できます。詳細については、「クエリ結果の表示とダウンロードの制限を設定する」をご参照ください。
セキュリティセンターに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、[セキュリティセンターに移動] をクリックします。
左側メニューで、 をクリックして、データ分析のアクセス制御ページに移動します。
クエリ結果制御 タブに切り替え、表示ごとの最大行数、コピーごとの最大行数、ダウンロードごとの最大行数、および ダウンロードを許可 の設定を調整します。