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

MaxCompute:データの型エディション

最終更新日:Mar 26, 2026

MaxCompute では、以下の 3 つのデータの型エディションがサポートされています:MaxCompute V1.0、MaxCompute V2.0、および Hive 互換。各エディションは、プロジェクトレベルのパラメーターのセットによって制御されます。本トピックでは、各エディションの概要、使用タイミング、およびアクティブなエディションの確認・変更方法について説明します。

データの型エディションの選択

DataWorks コンソールでワークスペースを作成する際に、データの型バージョンを直接選択できます。

アクティブなデータの型エディションは、以下の項目に影響を与えます:

  • テーブルで利用可能なデータの型

  • DML ステートメントおよびビルトイン関数の動作

  • MaxCompute に接続される開発コンポーネントの互換性

エディションを設定する前に、MaxCompute V2.0 データの型エディションと他のデータの型エディションの違いをご参照ください。影響範囲を事前に理解することが重要です。

以下の表に、各エディションの使用タイミングをまとめています:

エディション使用タイミング
MaxCompute V1.0プロジェクトが初期の MaxCompute プロジェクトであり、依存コンポーネントが MaxCompute V2.0 データの型エディションをサポートしていない場合。
MaxCompute V2.0プロジェクトに 2020 年 4 月以前に生成されたデータが含まれず、すべての依存コンポーネントが MaxCompute V2.0 データの型エディションをサポートしている場合。
Hive 互換プロジェクトが Hadoop から移行されたものであり、依存コンポーネントが MaxCompute V2.0 データの型エディションをサポートしている場合。

データの型エディションのリファレンス

各エディションは、以下の 3 つのプロジェクトパラメーターの固定組み合わせに対応しています:

パラメーター説明有効な値
odps.sql.type.system.odps2MaxCompute V2.0 データの型エディションの有効化または無効化。true または false
odps.sql.decimal.odps2MaxCompute V2.0 における DECIMAL 型の有効化または無効化。true または false
odps.sql.hive.compatibleHive 互換データの型エディションの有効化または無効化。Hive 互換エディションでは、一部のデータの型および SQL ステートメントが Hive と互換になります。true または false

MaxCompute V1.0 データの型エディション

setproject odps.sql.type.system.odps2=false; -- MaxCompute V2.0 データの型エディションを無効化します。
setproject odps.sql.decimal.odps2=false; -- MaxCompute V2.0 における DECIMAL 型を無効化します。
setproject odps.sql.hive.compatible=false; -- Hive 互換データの型エディションを無効化します。

MaxCompute V2.0 データの型エディション

setproject odps.sql.type.system.odps2=true; -- MaxCompute V2.0 データの型エディションを有効化します。
setproject odps.sql.decimal.odps2=true; -- MaxCompute V2.0 における DECIMAL 型を有効化します。
setproject odps.sql.hive.compatible=false; -- Hive 互換データの型エディションを無効化します。

Hive 互換データの型エディション

setproject odps.sql.type.system.odps2=true; -- MaxCompute V2.0 データの型エディションを有効化します。
setproject odps.sql.decimal.odps2=true; -- MaxCompute V2.0 における DECIMAL 型を有効化します。
setproject odps.sql.hive.compatible=true; -- Hive 互換データの型エディションを有効化します。

各エディションと互換性を持つ Alibaba Cloud サービスおよびコンポーネントについては、「コンポーネントとデータの型の互換性」をご参照ください。

プロジェクトのデータの型エディションの確認

MaxCompute クライアントで、次のコマンドを実行します:

setproject;

出力結果から、odps.sql.type.system.odps2odps.sql.decimal.odps2、および odps.sql.hive.compatible の値を確認し、アクティブなエディションを特定します。

プロジェクトのデータ型エディションを変更する

データの型エディションを変更するには、プロジェクトオーナーであるか、Super_Administrator ロールを保持している必要があります。

次のコマンドを、MaxCompute クライアントDataWorks コンソール、または MaxCompute Studio で実行します:

-- プロジェクトのデータの型エディションを確認します。
setproject;
-- MaxCompute V2.0 データの型エディションを有効化または無効化します。
setproject odps.sql.type.system.odps2=true/false;
-- MaxCompute V2.0 における DECIMAL 型を有効化または無効化します。
setproject odps.sql.decimal.odps2=true/false;
-- Hive 互換データの型エディションを有効化または無効化します。
setproject odps.sql.hive.compatible=true/false;
重要

DataWorks コンソールの DataStudio の ODPS SQL ノードでは、setproject コマンドを単体で実行できません。SELECT または INSERT SQL ステートメントとともに実行してください。

エディション切替時の互換性問題への対応

問題:プロジェクトで V2.0 を使用していますが、一部のコンポーネントが V1.0 を必要としています。

オプション:

  • プロジェクトレベルのエディションを MaxCompute V1.0 に変更します。

  • プロジェクトを V2.0 のまま維持し、該当するコンポーネントに対してセッションレベルのオーバーライドを設定します:

    set odps.sql.type.system.odps2=false;
    説明

    このコマンドは、同一セッション内の他のコマンドとともに実行してください。また、コマンドは小文字で記述する必要があります。

問題:一部の SQL ステートメントでは V1.0 が必要ですが、他のステートメントでは `current_timestamp` などの V2.0 の機能に依存しています。

オプション:

  • V1.0 に依存するステートメントを別セッションに分割し、そのセッションのデータの型エディションを V1.0 に設定します。

  • SQL ステートメントを再構築して、バージョン依存性を除去します。

問題:プロジェクトは当初 V2.0 を使用していましたが、V1.0 へ戻す必要があります。

切り替え前に、V2.0 データの型を使用するテーブルの該当カラムを変換してください:

  • TINYINT、SMALLINT、または INT → BIGINT

  • CHAR または VARCHAR → STRING

あるいは、V1.0 データの型を使用する新規テーブルを作成し、CAST 関数を用いて V2.0 テーブルからデータを移行します。