Dataphin は、強力な SQL クエリとデータ可視化機能を備えています。このトピックでは、Dataphin で SQL クエリを作成する方法を説明します。
操作手順
Dataphin ホームページで、トップメニューバーから[分析] > [SQL クエリ] を選択します。
[SQL クエリ] リストで、
作成アイコンをクリックします。[SQL クエリの作成] ダイアログボックスで、以下のパラメーターを設定します。
パラメータ
説明
[SQL Query Name]
名前は最大 256 文字です。次の文字は使用できません:縦棒 (|)、スラッシュ (/)、バックスラッシュ (\)、コロン (:)、疑問符 (?)、山括弧 (<>)、アスタリスク (*)、二重引用符 (")。
[Directory Location]
クエリを保存するディレクトリを選択します。
ディレクトリが存在しない場合は、[SQL クエリ] リストにある
アイコンをクリックしてディレクトリを作成できます。[新しいフォルダー] ダイアログボックスで、[名前] を入力し、[場所] を選択してから、[OK] をクリックします。Query Data
プロジェクトデータまたはデータソースからデータをクエリできます。
Project Data: 現在のプロジェクトのコンピューティングソースからデータをクエリします。
Data Source:データソースからデータをクエリします。サポートされているデータソースタイプの一覧については、「Dataphin でサポートされるデータソース」をご参照ください。データソースからデータをクエリする場合は、次のパラメータも設定する必要があります。
データソース: 外部のものを含むデータソースを選択します。 利用可能なデータソースがない場合は、[+ 新しいデータソース] をクリックして作成します。 詳細については、「データソースの管理」をご参照ください。
Catalog:このパラメータは、Presto および Trino データソースで必須です。
Database/Schema:このパラメータは、MySQL、PostgreSQL、Hologres、AnalyticDB for PostgreSQL、OceanBase (Oracle テナントモード)、Lindorm、Oracle、ClickHouse、DM、openGauss、StarRocks、Doris、SelectDB、Presto、GaussDB (DWS)、Trino、PolarDB-X 2.0、OushuDB の各データソースで必須です。
[OK] をクリックすると、Dataphin が SQL クエリを作成し、コードエディタータブが開きます。
コードエディタータブで SQL ステートメントを記述できます。
(オプション) クエリアクセラレーションを使用するには、これを有効にし、アクセラレーション方法を選択します。
Acceleration Source:専用ソースを使用してクエリを高速化します。この方法を選択する場合は、アクセラレーションソースとリソースグループも指定する必要があります。
Acceleration Source:現在のプロジェクトのコンピューティングソースにバインドされているアクセラレーションソースを選択します。使用可能なアクセラレーションソースがない場合は、[Create Acceleration Source] をクリックして作成できます。
Resource Group (オプション):選択したアクセラレーションソースで設定されているリソースグループを選択します。
説明アクセラレーションソースを使用する場合、クエリの構文はソースタイプと一致させる必要があります。SQL ステートメントが正しい構文に準拠していることを確認してください。たとえば、アクセラレーションソースが StarRocks タイプの場合、クエリは StarRocks 構文を使用する必要があります。
MCQA:MaxCompute クエリアクセラレーション (MCQA)。各テナントには、MCQA のジョブと同時実行数の制限があります。これらの制限を超えると、高速化の失敗または実行エラーが発生する可能性があります。詳細については、「クエリアクセラレーション (MCQA)」をご参照ください。MCQA は、[Management Center] > [System Settings] > [R&D Platform] > [Query Acceleration] で無効にできます。
サポートされる高速化方法は、コンピューティングエンジンとシナリオによって異なります。
現在のテナントが MaxCompute コンピューティングエンジンを使用している場合:
研究開発プラットフォームでクエリアクセラレーションを有効にしているが、購入していない場合、システムは MCQA を使用します。
クエリアクセラレーションを購入して有効にしているが、プロジェクトのコンピューティングソースがアクセラレーションソースにバインドされていない場合も、システムは MCQA を使用します。
クエリアクセラレーションを購入し、プロジェクトのコンピューティングソースがアクセラレーションソースにバインドされている場合は、アクセラレーションソースまたは MCQA のいずれかを選択できます。
現在のテナントが Hadoop コンピューティングエンジンを使用している場合:クエリアクセラレーションを購入し、プロジェクトのコンピューティングソースに対応するクラスターがアクセラレーションソースにバインドされている場合、そのアクセラレーションソースが使用されます。
SQL コードの記述が完了したら、[実行] をクリックします。システムはコードを解析し、すべてのオブジェクトに対する権限を検証します。権限チェックに失敗した場合、[権限チェックに失敗しました] ダイアログボックスが表示され、権限のないオブジェクトが一覧表示されます。
説明SQL クエリジョブは、選択した [Data Source] で設定されている [Default Resource Group] を使用して実行されます。分析プロジェクトのデフォルトリソースグループではありません。
[Permission Check Failed] ダイアログボックスには、オブジェクト名、オブジェクトタイプ、権限タイプ、および使用可能なアクションが表示されます。
Object Name:権限がないオブジェクトです。
Object Type:テーブルまたはグローバル変数です。
Permission Type:必要となる特定の権限です。たとえば、テーブルをクエリするにはクエリ権限が必要であり、データソースを使用するには実行権限が必要です。
Actions:必要な権限を申請するためのオプションです。
単一のオブジェクトに対する権限を申請するには、対象のオブジェクトの [アクション] 列にある
アイコンをクリックします。デフォルトでは、権限は 30 日間有効です。権限を一括で申請するには、複数のオブジェクトか [すべてのテーブルを選択] を選択してから、[権限の申請] をクリックします。
権限の申請方法の詳細については、「権限の申請」をご参照ください。権限が付与されたら、クエリを再度実行できます。
説明テーブルレベルの権限制御は、MySQL および Oracle データソースでのみサポートされています。
シングルテナント・マルチエンジン
シングルテナントマルチエンジンモードで SQL クエリを作成する際に、[クエリデータ] に [プロジェクトデータ] を選択した場合、クラスターとプロジェクトを選択して [実行プロジェクト] も指定する必要があります。その他のパラメーターは、シングルエンジンモードの場合と同じです。詳細については、上記の手順をご参照ください。
クラスター: 選択肢には、現在のテナント配下のすべてのクラスターと [クラスターレスプロジェクト] オプションが含まれます。SQL クエリの作成後は、クラスターを変更することはできません。
Project:オプションには、選択したクラスター配下のプロジェクトと、そのクラスター専用の分析プロジェクトが含まれます。クラスター専用の分析プロジェクトの名前は、
{クラスター名} Analysis Projectの形式です。クラスターレスプロジェクト専用の分析プロジェクトの名前は、Independent Analysis Project for Clusterless Projectsです。
実行プロジェクトを選択すると、システムは選択したクラスターに対応する SQL タイプを作成します。対応付けは次のとおりです。
エンジンタイプ | SQL タイプ |
MaxCompute | MaxCompute SQL |
Hadoop | Hive SQL |
Databricks | Databricks SQL |
AnalyticDB for PostgreSQL | AnalyticDB for PostgreSQL SQL |
StarRocks | StarRocks SQL |
Doris | Doris SQL |
SelectDB | SelectDB SQL |
Lindorm (コンピューティングエンジン) | Spark SQL |
ArgoDB | ArgoDB SQL |
GaussDB (DWS) | GaussDB SQL |
TDH 6.x、TDH 9.3.x | Inceptor SQL |
OushuDB | OushuDB SQL |
選択したクラスターが Hadoop タイプで、Hive と Spark の両方のサービスが有効になっている場合は、SQL クエリで Hive SQL と Spark SQL を切り替えることができます。