ここでは、MaxCompute SQL のキーワード、型変換の手順、パーティションテーブル、UNION ALL 操作、および使用上の制限について説明します。

SQL 概要

MaxCompute SQL は、さまざまなシナリオに適しています。 大量データ (GB、TB、EB レベル) は、オフラインのバッチ処理で対応する必要があります。 ジョブの送信後、スケジュールに数秒から数分かかります。 このため、MaxCompute SQLは、1 秒当たり数万トランザクションを処理するサービスに向いています。

MaxCompute SQL 構文は、SQL と似ているので、標準 SQL のサブセットとみなすことができます。 しかし、MaxCompute SQL とデータベースを混同しないでください。 MaxCompute SQL は、トランザクション、主キー制約、インデックスなどのデータベースの特徴を備えていません。 MaxCompute SQL の最大サイズは 2 MBです。

予約語

MaxCompute では、SQL 文のキーワードは予約語として認識されます。 テーブル、列、またはパーティションの名前にキーワードを使用する場合、`` 記号を使用してキーワードのエスケープ処理を行う必要があります。エスケープ処理を行わないと、エラーが発生します。 予約語は、大文字と小文字が区別されません。以下は、最も一般的に使用される予約語です (予約語のリストは、「MaxCompute SQL 予約語」をご参照ください)。

% & && ( ) * +  
 - . / ; < <= <>  
 =    >    >=    ?    ADD ALL ALTER  
 AND AS ASC BETWEEN BIGINT BOOLEAN BY  
 CASE CAST COLUMN COMMENT CREATE DESC DISTINCT  
 DISTRIBUTE DOUBLE DROP ELSE FALSE FROM FULL  
 GROUP IF IN INSERT INTO IS JOIN  
 LEFT LIFECYCLE LIKE LIMIT MAPJOIN NOT NULL  
 ON OR ORDER OUTER OVERWRITE PARTITION RENAME  
 REPLACE RIGHT RLIKE SELECT SORT STRING TABLE  
 THEN TOUCH TRUE UNION VIEW WHEN WHERE

型変換

MaxCompute SQL では、データ型の変換が可能です。 型変換の方法には、明示的な型変換と暗黙的な型変換があります。 詳細は、「型変換」をご参照ください。

  • 明示的変換: cast 演算子でデータ型の値を変換します。
  • 暗黙的変換 : コンテキスト環境と変換規則に従って、MaxCompute 稼働中に暗黙的な型変換が自動的に実行されます。 暗黙的変換の範囲には、さまざまな演算子、組み込み関数などがあります。

パーティションテーブル

MaxCompute SQL は、パーティションテーブルに対応しています。 パーティションを指定すると、操作を簡素化できます。 たとえば、SQL 実行効率の向上、コストの削減などが実現します。 詳細は、「基本概念」の「パーティション」をご参照ください。

UNION ALL

UNION ALL 操作に関連するすべての列のデータ型、列数、および列名は同じである必要があります。異なる場合は、エラーが発生します。