MaxCompute SQL は、大規模データのクエリおよび分析に使用される MaxCompute 固有の SQL 方言です。ANSI SQL-92 標準を拡張し、大規模データウェアハウスのシナリオに特化した機能を提供します。
MaxCompute SQL を使用するタイミング
MaxCompute SQL は、ギガバイト、テラバイト、またはエクサバイト規模のデータを処理するバッチジョブ向けに設計されています。ジョブを送信すると、キューによるスケジューリングにより実行開始まで数十秒から数分の遅延が発生する場合があります。ワークフローの設計にあたっては、この点を十分にご考慮ください。
MaxCompute SQL は、OLTP システムや、1 秒あたり数千〜数万トランザクション(TPS)を要求するアプリケーションには対応していません。このようなワークロードには、トランザクションデータベースをご利用ください。
標準 SQL との相違点
Hive、MySQL、Oracle など他のデータベースから移行される場合は、SQL を記述する前に、以下の 2 つのトピックをご確認ください。
SQL ステートメントのサポート状況の相違点 — MaxCompute SQL と主要データベース間の構文差異
MaxCompute と Hive、MySQL、Oracle 間のデータの型マッピング — データベース間における型互換性
これらのトピックでは、既存の SQL コードに最も影響を及ぼす可能性がある互換性のギャップについて解説しています。
言語リファレンス
言語の基本
| トピック | 説明 |
|---|---|
| SQL ステートメントのサポート状況の相違点 | MaxCompute SQL と主要データベース間の構文差異 |
| 予約語およびキーワード | MaxCompute SQL の予約語およびキーワード |
| データの型 | サポートされるデータの型、エディション、およびエディション間の差異 |
| 型変換 | MaxCompute SQL でサポートされる型変換 |
| MaxCompute と Hive、MySQL、Oracle 間のデータの型マッピング | データベース間における型互換性 |
| エスケープ文字 | MaxCompute SQL におけるエスケープ文字の構文 |
| LIKE | LIKE 演算子によるパターンマッチングでサポートされる文字 |
| RLIKE | RLIKE 演算子による正規表現マッチングでサポートされる文字 |
| 演算子 | 比較演算子、算術演算子、ビット演算子、論理演算子 |
SQL ステートメント
| トピック | 説明 |
|---|---|
| 使用制限 | MaxCompute SQL スクリプトを作成する際に従う必要がある制約事項 |
| DDL ステートメント | テーブル、パーティション、カラム、ライフサイクルの作成および管理のための構文 |
| DML ステートメント | INSERT INTO および INSERT OVERWRITE の構文 |
| DQL ステートメント | SELECT ステートメントによるデータクエリの構文 |
| 拡張 SQL 構文 | LOAD および UNLOAD ステートメント:可読性および実行効率の向上を目的とした構文 |
| スクリプトモードでの MaxCompute SQL の実行 | スクリプトモードでの SQL スクリプトのコンパイル |
拡張性
| トピック | 説明 |
|---|---|
| MaxCompute UDF | ユーザー定義関数(UDF)、ユーザー定義のテーブル値関数(UDTF)、ユーザー定義の集計関数(UDAF)を作成し、カスタムロジックで SQL を拡張 |
| MaxCompute UDT | サードパーティ製プログラミング言語のクラスおよびメソッドを SQL 内から直接呼び出し |
| MaxCompute UDJ | 複数のテーブル間または複数テーブルに対してカスタム操作を実行 |
開発ツール
タスクの複雑さおよびチームのワークフローに応じて、適切なツールを選択してください。
| ツール | 推奨用途 |
|---|---|
| MaxCompute クライアント | シンプルなタスク |
| MaxCompute Studio | 複雑なタスク |
| DataWorks コンソール | 複雑なタスク |