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

DataWorks:SQL クエリ (新バージョン)

最終更新日:Aug 18, 2026

MaxCompute、EMR Hive、Hologres などのデータソースで、SQL ステートメントを使用してデータを迅速にクエリおよび分析できます。このトピックでは、データソースで SQL クエリを実行する方法を説明します。

重要

このトピックは、データ分析の新バージョンに適用されます。以前のバージョンの手順については、SQL クエリ (旧バージョン) を参照してください。ナビゲーションバーでデータ分析の新旧バージョンを切り替えられます。

サポートされるデータソース

SQL クエリでは、以下のデータソースタイプがサポートされています: MaxCompute、Hologres、EMR、CDH、ADB for PostgreSQL、ADB for MySQL、ClickHouse、StarRocks、MySQL、PostgreSQL、Oracle、SQL Server、Doris、SelectDB、および Lindorm Spark。

説明

MaxCompute のみが、直接接続とデータソース接続の両方によるクエリをサポートします。他のデータソースタイプは、ワークスペース内のデータソースに対するクエリのみをサポートします。

データソースの権限

データソースのスコープ

  • データソース接続モード:必要な権限を持つワークスペース内のデータソースからのみデータを選択できます。まず、ワークスペースの管理者に依頼して、自分をワークスペースに データアナリスト、開発者、O&M エンジニア、またはワークスペース管理者として追加してもらう必要があります。

  • 直接接続モード:Alibaba Cloud アカウントがメンバーである MaxCompute プロジェクトのみを選択できます。MaxCompute プロジェクトの権限に関する詳細については、「MaxCompute のユーザーと権限」をご参照ください。

データソースのアクセス権限

次の 2 つのアクセスアイデンティティモードのいずれかを使って、データソースにアクセスできます。

アクセスアイデンティティモード

説明

サポートされるデータソース

権限付与

[実行ロール]

DataWorks へのログインに使う Alibaba Cloud アカウントのアイデンティティです。

MaxCompute および Hologres。

指定されたMaxCompute プロジェクトまたはHologres インスタンスの管理者に依頼して、メンバー権限を付与してもらいます。

[デフォルトのデータソースアクセスアイデンティティ]

データソースの作成時に設定されたアクセスアイデンティティです。

この機能でサポートされるすべてのデータソース。

お使いのアカウントがデータソースのデフォルトのアクセスアイデンティティでない場合は、ワークスペース管理者に依頼して、お使いの Alibaba Cloud アカウントに権限を付与してもらいます。

重要

MaxCompute プロジェクトで IP アドレスホワイトリストが有効になっている場合は、DataAnalysis ホワイトリストの IP アドレスを MaxCompute プロジェクトの IP アドレスホワイトリストに追加する必要があります。

機能へのアクセス

DataWorks データ分析にログインし、対象のリージョンに切り替えてから、[データ分析へ] をクリックします。

  • ナビゲーションバーに 新しいデータ分析に移動 が表示されている場合は、それをクリックして新バージョンに切り替えます。

  • ナビゲーションバーに 旧バージョンのデータ分析へ戻る が表示されている場合は、新バージョンをお使いです。

SQL クエリの作成

  1. [個人用ディレクトリ] > マイファイル にカーソルを合わせ、image > [新しいファイル] をクリックします。

    [新しいフォルダー] をクリックして、SQL クエリファイル用のカスタムフォルダー構造を作成することもできます。
  2. SQL エディターで、SQL クエリを作成します。

    重要

    次の方法でも SQL ステートメントを生成できます:

    • データカタログページで、データカタログを追加した後、対象のテーブルを見つけて右クリックし、[クエリSQLの生成] を選択します。

    • [共有ファイル] フォルダーから共有された SQL クエリをコピーします。

    • SQL コードを作成した後、ツールバーの 初期化 ボタンをクリックしてコードをフォーマットします。

    • SQL クエリは Copilot をサポートしています。ナビゲーションバーの右上隅にある Copilot アイコン (image) をクリックすると、[コード生成] や [コード修正] などの機能を使ってコード作成を支援します。Copilot はエディター内でのコード補完も提供し、効率を向上させます。

    SQL の例

    次の SQL ステートメントは、MaxCompute のパブリック GitHub イベントデータをクエリします:

    -- セッションレベルのスキーマ構文を有効にします。
    SET odps.namespace.schema=true; 
    -- dwd_github_events_odps テーブルから 100 行をクエリします。
    SELECT * FROM bigdata_public_dataset.github_events.dwd_github_events_odps WHERE ds='${dt}' LIMIT 100;
    説明
    • スキーマ構文が有効になっている MaxCompute プロジェクトをクエリする場合、クエリ文の前に SET odps.namespace.schema=true; を追加する必要があります。これにより、セッションレベルのスキーマ構文が有効になり、クエリの失敗を防ぎます。

    • デフォルトでは、クエリは現在の デバッグの構成 で指定されたデータソースで実行されます。メンバーとなっている他の MaxCompute プロジェクトをクエリするには、クエリ文でプロジェクト名を明示的に指定する必要があります。たとえば、実行設定のコンピューティングリソースが MaxCompute A で、クエリ文で MaxCompute B (SELECT * FROM B.schema_name.table_name WHERE ****) を指定した場合、システムは A の実行エンジンを使用して B のデータをクエリします。

  3. SQL クエリを作成した後、右側の デバッグの構成 をクリックして、データソース や スクリプトパラメーター などの設定を構成します。

    • [タイプ]:SQL クエリの対象となるデータソースタイプを選択します。データソースタイプが MaxCompute の場合、コンピューティングクォータを設定できます。従量課金およびサブスクリプションの課金方法が、バッチ処理とインタラクティブシナリオの両方でサポートされています。MaxCompute クォータの管理に関する詳細については、「コンピューティングリソース (クォータ) の管理」をご参照ください。

    • [データソース]:SQL クエリの対象データソースを指定します。MaxCompute データのみをクエリする場合、直接接続またはデータソース接続がサポートされます。他のタイプのデータソースの場合、権限を持つワークスペース内のデータソースからのみデータをクエリできます。権限に関する詳細については、「データソースの権限」を参照してください。

    • [スクリプトパラメーター]:SQL クエリでパラメーター変数を使用する場合、実行時に値を割り当てられます。

      重要

      解析に失敗した場合は、左下隅の [管理] > [設定] に移動し、parsing を検索して、[DataWorks ISP コードパラメーター機能を有効にする] チェックボックスをオンにします。

  4. SQL エディターのツールバーで、実行 をクリックします。実行 ボタンの横にあるドロップダウンアイコン image をクリックして実行モードを切り替えることもできます。シナリオにもとづいて実行モードを選択できます。

    実行モード

    ユースケース

    トリガー条件

    適用可能なエンジン

    クエリモード (LIMIT 10000)

    データを迅速にプレビューし、クエリロジックを検証します。 このモードは、結果の小さなサンプルのみを表示する予備的なデータ探索に適しています。

    クエリ結果が 10,000 行以下かつ 10 MB 以下の場合。

    すべて

    クエリモード (全データ)

    分析またはエクスポートのために完全な結果セットを取得します。 すべてのデータを処理して表示する必要がある場合、システムはこのモードを自動的にトリガーします。

    クエリ結果が 10,000 行を超えるか、サイズが 10 MB を超える場合。

    すべて

    一時テーブルモード

    複数ステップの複雑なクエリで結果を再利用します。 あるクエリの出力を後続のクエリの入力として使用できるため、開発とデバッグの効率が向上します。

    クエリ結果が 10,000 行以下かつ 10 MB 以下の場合。結果は自動的に一時テーブルに書き込まれます。

    MaxCompute のみ

  5. SQL クエリの実行後、結果ページで [操作ログ]、[結果]、および対応する SQL コードを表示できます。

    クエリ結果の右上隅にあるボタンをクリックすると、左右のレイアウトと上下のレイアウトを切り替えられます。

BLOB 型フィールドの表示

MaxCompute は、画像やテキストなどのバイナリラージオブジェクトを格納するBLOB 型フィールドをサポートしています。クエリ結果テーブルで、BLOB フィールドのセルをダブルクリックすると、[現在のフィールド値] ダイアログボックスでその内容を表示できます。

[現在のフィールド値] ダイアログボックスは、デフォルトで [Blobビュー] で開き、返されたデータにもとづいて表示形式を自動的に選択します:

  • JPEG、PNG、GIF、WebP、BMP、ICO などの画像形式の場合、ダイアログボックスは画像を直接レンダリングします。画像を保存するには、画像を右クリックして [名前を付けて保存] を選択します。

  • text/*、application/json、application/xml などのテキスト形式の場合、ダイアログボックスは内容を読み取り専用テキストとして表示します。

ダイアログボックスの下部にあるボタンを使って、[Blobビュー]、[テキストビュー]、[JSONビュー] を切り替えられます。

クエリ結果の可視化

クエリ結果の左側にあるツールバーで、image ボタンをクリックすると、結果からグラフが自動的に生成されます。

説明

image

エクスポートと共有

重要

データをローカルファイルにエクスポートしてから別のデータソースにインポートする必要がある場合は、Data Integration のバッチ同期タスクを使用してください。この方法は、より効率的で安定したデータ移行と同期を実現します。

SQL クエリ結果の右側にある エクスポート をクリックします。次のエクスポートオプションがサポートされています:

  • ローカルファイル:クエリ結果を CSV ファイルとしてローカルコンピューターにダウンロードします。詳細は次の表を参照してください。

    項目

    説明

    ダウンロード制限

    • MaxCompute、EMR、Lindorm Spark エンジンのみサポートされています。詳細については、「データダウンロードの制限」をご参照ください。

    • MaxCompute プロジェクトでデータのダウンロードを禁止するデータ保護メカニズムが有効になっている場合、DataAnalysis からのダウンロードは失敗します。

    [ダウンロード範囲]

    テーブルにのみデータを表示 または すべてのデータ のダウンロードを選択できます。

    • [テーブルにのみデータを表示]: 現在のページに表示されているデータのみをダウンロードします。デフォルトでは、最大 10000 行をダウンロードできます。

    • すべてのデータ:エクスポート制限内のすべてのクエリ結果をエクスポートします。

    ダウンロード方法

    ダウンロードの承認 または 承認不要ダウンロード を選択できます。

    • [承認付きでダウンロード]:この方法では、データをダウンロードするために承認リクエストが必要です。設定可能なリスク検知ルールを使って潜在的なデータリスクを特定することで、セキュリティを確保できます。

      説明

      DataWorks Enterprise Edition のみがリスク検知ルールをサポートします。

    • [承認なしでダウンロード]:これがデフォルトの方法です。承認は不要です。

  • Object Storage Service (OSS):クエリ結果を CSV や Parquet などの指定された形式で Object Storage Service (OSS) バケットにエクスポートします。このオプションは、大量のデータをアーカイブしたり、他のクラウド製品と統合したりするのに適しています。

    この機能を初めて使用する場合は、DataWorks に OSS リソースへのアクセス権を付与する必要があります。[ファイルパス] ドロップダウンリストで、プロンプトの [ワンクリック承認] リンクをクリックし、画面の指示に従って RAM 承認を完了してください。

    パラメーター

    説明

    ファイルパス

    右側のフォルダーアイコンをクリックして、結果ファイルを保存する OSS バケットとディレクトリを選択します。

    ファイル名

    システムはファイル名を自動的に生成しますが、変更もできます。

    ファイル形式

    ファイル形式を選択します。csv、text、orc、および parquet 形式がサポートされています。

    区切り文字

    列を区切るための区切り文字で、デフォルトはカンマ (,) です。

    エンコーディング形式

    ファイルのエンコーディング形式 (UTF-8、GBK など)。

    CU

    エクスポートタスクのコンピューティングユニット (CU) の数です。デフォルト値:1。

    リソースグループ

    このエクスポートタスクを実行するサーバーレスリソースグループを選択します。リソースグループを選択しない場合、[データ分析] > [システム管理] で設定された Data Integration リソースグループが使用されます。

    パラメーターを設定した後、[OK] をクリックしてエクスポートタスクを開始します。タスク実行ページでは、エクスポートの進行状況、操作ログ、および設定の詳細を表示できます。タスクが成功した後、OSS コンソールに移動して、エクスポートされたファイルをローカルコンピューターにダウンロードしてください。

  • DingTalkシート:結果を DingTalk シートにエクスポートします。詳細については、「スプレッドシート」をご参照ください。

  • ワークブックと共有:クエリデータをワークブックに保存して、さらに分析を実行できます。また、ワークブックから最新の分析結果を他のユーザーと共有もできます。

ファイルの共有

データ分析の新バージョンでは、SQL クエリファイル、Notebook ファイル、フォルダーのファイルレベルでの共有をサポートしています。ファイルやフォルダーを共同作業者とすばやく共有できます。共有されたアイテムは受信者の [共有ファイル] フォルダーに表示され、受信者には閲覧またはコピーするための読み取り専用アクセス権が付与されます。

次のいずれかのエントリーポイントから共有します:

  • 編集ページからファイルを共有:対象の SQL クエリまたは Notebook ファイルを開きます。編集ページの上部にあるツールバーで、[共有] をクリックします。

  • ファイルツリーからファイルを共有:左側のファイルツリーで、対象の SQL クエリまたは Notebook ファイルを右クリックし、[共有] を選択します。

  • ファイルツリーからフォルダーを共有:左側のファイルツリーで、対象のフォルダーを右クリックし、[共有] を選択します。フォルダーを共有すると、そのフォルダー内のすべてのファイルが一緒に共有されます。

表示される [共有] ダイアログボックスで、次の設定を構成し、[OK] をクリックします:

  • 共有方法:[ワークスペース] または [Alibaba Cloudアカウント] を選択します。

  • 共有範囲:選択した共有方法にもとづいて、共有する特定のワークスペースまたは Alibaba Cloud アカウントを選択します。複数選択がサポートされています。

  • リンクアドレス:SQL クエリまたは Notebook ファイルを共有する場合にのみ使用できます。[リンクのコピー] をクリックして共有リンクをコピーし、共同作業者に送信すると、リンクから直接ファイルを開けるようになります。フォルダーを共有する場合、リンクアドレスは提供されません。