データレイクコンピューティング DLC が提供する SQL エディタは、統一された SQL ステートメントを使用したデータクエリをサポートし、SparkSQL と互換性があります。標準 SQL を使用するだけでデータクエリタスクを完了できます。
データ探索から SQL エディタに入ることができ、エディタ内で簡単なデータ管理、複数セッションのデータクエリ、クエリ記録管理、ダウンロード記録管理を行うことができます。
データ管理
データ管理は、新しいデータソースの追加、データベース管理、およびデータテーブル管理をサポートします。
新しいデータディレクトリ
現在、データレイクコンピューティング(DLC)は、COSおよびEMR HIVEのデータディレクトリの管理をサポートしています。操作手順は以下の通りです。
1. データレイクコンピューティング DLC コンソール</1>にログインし、サービス地域を選択してください。ログインロールには管理者権限が必要です。
2. データ探索に入り、マウスをライブラリテーブルリストの上にあるアイコンに移動し、新しいデータディレクトリをクリックすると、新規作成プロセスに入ります。
詳細な操作ガイドについては、他のデータソースをクエリを参照してください。 データベース管理
SQLエディターを使用して、データベースの作成、削除、詳細表示の操作をサポートします。
データテーブル管理
SQLエディターを使用して、データテーブルの作成、クエリ、詳細表示の操作をサポートします。
デフォルトデータベースの切り替え
SQLエディターを使用する際、クエリタスクのデフォルトデータベースを指定できます。指定後、クエリ文でデータベースを宣言していない場合、クエリはデフォルトデータベースで実行されます。
1. データレイクコンピューティング DLC コンソールにログインし、サービス地域を選択します。
2. データ探索に入り、マウスを指定するデータベース名にホバーして、アイコンをクリックし、デフォルトデータベースに切り替えをクリックすると、そのデータベースをデフォルトデータベースとして指定できます。
3. または、コード編集領域の右上隅にあるデフォルトデータベース選択ボックスで直接切り替えることもできます。
データクエリ
セッション管理
SQLエディターは複数のセッションでのデータクエリをサポートしており、各セッション内の設定(デフォルトデータベース、使用する計算エンジン、クエリ履歴など)は独立しています。これにより、ユーザーは複数のタスクを並行して実行・管理することが容易になります。
アイコンをクリックしてセッションを作成し、タブバーをクリックしてエディターインターフェースを切り替えることができます。
お客様の検索利用を便利にするため、よく使うセッションは保存ボタンをクリックして保存できます。また、アイコンをクリックすると、保存済みのセッションをすばやく開くことができます。
保存されたセッションに対して、更新ボタンをクリックして保存された情報を同期し、クエリ文の正確性を確保できます。
エディタは複数の異なるSQL文の同時実行をサポートしており、実行ボタンをクリックすると、エディタ内のすべてのSQL文が実行され、複数のSQLタスクに分割されます。
実行する部分の文を選択し、部分実行をクリックしてください。
エンジンパラメータ設定
データエンジンを選択した後、データエンジンのパラメータ設定が可能です。データエンジンを選択し、詳細設定で追加をクリックすると設定できます。
現在、以下のパラメータ設定がサポートされています:
エンジン | 構成名 | 初期値 | 設定説明 |
SparkSQL | spark.sql.files.maxRecordsPerFile | 0 | 単一ファイルに書き込む最大レコード数。 この値がゼロまたは負の場合、制限はありません。 |
| spark.sql.autoBroadcastJoinThreshold | 10MB | 接続実行時にすべてのワーカーノードのテーブルを表示する最大バイトサイズを設定します。 この値を「-1」に設定することで、表示を無効にすることができます。 |
| spark.sql.shuffle.partitions | 200 | デフォルトのパーティション数。 |
| spark.sql.sources.partitionOverwriteMode | static | この値がstaticの場合、上書き操作を実行する前に、条件に一致するすべてのパーティションが削除されます。 例として説明します:パーティションテーブルに「2022-01」というパーティションがある場合、INSERT OVERWRITE ステートメントを使用して「2022-02」というパーティションのデータをテーブルに書き込むと、「2021-01」パーティションのデータも上書きされてしまいます。 この値がdynamicの場合、事前にパーティションを削除せず、実行時にデータが書き込まれるパーティションを上書きします。 |
| spark.sql.files.maxPartitionBytes | 128MB | ファイルを読み取る際に単一のパーティションにパッケージ化する最大バイト数。 |
Presto | use_mark_distinct | true | distinct関数を実行する際にエンジンがデータの再配布を行うかどうかを決定します。 distinct関数をクエリで複数回呼び出す場合、このパラメータをfalseに設定することを推奨します。 |
| USEHIVEFUNCTION | true | クエリ実行時にHive関数を使用するかどうか。prestoのネイティブ関数を使用する場合は、パラメータをfalseに設定してください。 |
| query_max_execution_time | - | クエリのタイムアウトを設定するために使用され、クエリの実行時間が設定された時間を超えた場合、クエリは終了されます。単位はd-日、h-時間、m-分、s-秒、ms-ミリ秒をサポートします(例:1dは1日、3mは3分を表します)。 |
| dlc.query.execution.mode | async | エンジンクエリ実行モード。デフォルトはasyncモードで、このモードではタスクが全量クエリ計算を完了し、結果をCOSに保存してからユーザーに返されます。ユーザーはクエリ完了後にクエリ結果をダウンロードできます。 ユーザーはこの値をsyncに変更することもできます。syncモードでは、クエリは必ずしも全量計算を実行せず、一部の結果が利用可能になると、直接エンジンからユーザーに返され、COSには保存されません。そのため、ユーザーはより低いクエリ遅延と時間を獲得できますが、結果はシステム内で30秒間のみ保存されます。COSから完全なクエリ結果をダウンロードする必要がなく、より低いクエリ遅延と時間を期待する場合にこのモードを使用することをお勧めします。例えば、クエリ探索段階やBI結果の表示などです。 |
Presto 実行モード
ユーザーが選択したエンジンがPrestoエンジンの場合、データ探索の実行では「クイックモード」または「フルモード」を選択できます。
1. 高速クエリ:速度が速いですが、クエリ結果は永続的に保存されません。探索段階に適しています。
2. 全量モード:全量クエリを実行し、データをオブジェクトストレージに保存します。
クエリ結果
SQLエディターで直接クエリ結果を確認でき、チャートをクリックするとクエリ結果の表示高さを展開または折りたたむことができます。
コンソールの単一タスクは最大1000件の結果を返します。それ以上の結果が必要な場合はAPIをご利用ください。
クエリ結果は、COSストレージパスを指定しない場合、ローカルにダウンロードすることがサポートされています。
実行履歴クエリ
各セッションは3ヶ月間の実行履歴を保存でき、過去24時間のクエリ結果を確認できます。実行履歴から過去に実行したタスク情報をすばやく検索できます。
ダウンロード履歴管理
各セッションのダウンロードタスクはダウンロード履歴で確認でき、ダウンロードタスクの状態や関連パラメータ情報を照会できます。