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

MaxCompute:オープンストレージの概要

最終更新日:Jan 07, 2026

MaxCompute は、ビッグデータエコシステムとの統合を改善し、外部エンジンが MaxCompute 内のデータにアクセスできるようにするために、ストレージ API を提供します。主流のサードパーティ製コンピュートエンジンは、ストレージ API を呼び出して MaxCompute の基盤ストレージに直接アクセスできます。これにより、データアクセスとインタラクションの効率が大幅に向上します。

オープンストレージの概要

ストレージ API は、効率的で低レイテンシー、かつ安全なデータアクセス方法を提供するデータサービスインターフェイスです。これにより、主流のサードパーティ製コンピュートエンジンが MaxCompute ストレージシステムにアクセスできるようになります。これにより、MaxCompute とオープンソースのコンピュートエンジンや機械学習エンジンとの間の統合とデータ処理効率が向上します。Spark、StarRocks、Presto、Flink などのコンピュートエンジンは、コネクタを使用して MaxCompute に保存されているデータに直接アクセスできます。これにより、データ利用プロセスが簡素化され、データアクセス性能が向上します。以下の図にアーキテクチャを示します。

image

利用シーン

ストレージ API は、データのアクセシビリティとマルチエンジンコンピューティングが求められるシナリオに適しています。企業や開発者がコンピューティングフレームワークを柔軟に切り替えたり、特定のエンジンの機能を使用して MaxCompute 内のデータを処理したりする必要がある場合、ストレージ API はデータ交換を促進し、多様なデータ処理を可能にするブリッジとして機能します。

主な特徴

  • 高スループット:ストレージ API は、効率的なカラムナデータ読み取り、転送前のデータフィルタリングのための述語プッシュダウン、および Arrow データ形式をサポートします。

  • 安全で使いやすい:テーブルセマンティクスを持つ基盤ストレージへの直接の読み取りアクセスを提供します。これにより、プロジェクトの隔離、アクセス制御、データ暗号化などのセキュリティポリシーを遵守しながら、ストレージの複雑さを抽象化します。

  • エコシステム統合:EMR 上の Spark および StarRocks は、コネクタを使用して MaxCompute 内のデータに直接アクセスできます。これにより、コンピュートエンジンの統合が簡素化されます。

範囲

  • MaxCompute にアクセスするサードパーティ製エンジンは、標準テーブル、パーティションテーブル、クラスター化テーブル、Delta テーブル、マテリアライズドビューを読み取ることができます。ただし、MaxCompute の外部テーブルや論理ビューは読み取れません。

  • JSON 型のデータの読み取りはサポートされていません。

  • 従量課金制のストレージ API の場合、同時リクエスト数はテナントあたり 1,000 に制限され、転送レートは同時リクエストあたり 10 MB/s に制限されます。

データ転送リソース

サードパーティ製エンジンがデータ転送タスクに MaxCompute ストレージ API を使用する場合、Data Transmission Service (DTS) の専用リソースグループ (サブスクリプション) リソースのいずれかを使用できます。以下の表で、これらのリソースについて説明します。

リソースグループ名

課金に関する説明

サポート対象リージョン

利用手順

データ転送専用リソースのサブスクリプション料金

このリソースグループは、サブスクリプションの課金方法に基づいています。購入した同時インスタンスの数に基づいて課金されます。

  • 中国 (北京)

  • 中国 (杭州)

  • 中国 (上海)

  • 中国 (深セン)

  • 中国 (香港)

  • インドネシア (ジャカルタ)

  • シンガポール

  • 米国 (シリコンバレー)

  • 米国 (バージニア)

  • 日本 (東京)

  • ドイツ (フランクフルト)

Data Transmission Service (DTS) の専用リソースグループの購入と使用

リソース観察 ページでは、Data Transmission Service (DTS) の専用リソースグループ (サブスクリプション)の使用状況の詳細を確認できます。詳細については、「リソース観察」をご参照ください。

利用例

Arrow データ型のマッピング

MaxCompute ストレージ API は、ストレージと転送中にデータの効率的で構造化された表現を保証するために、Apache Arrow データ型を使用します。MaxCompute ストレージ API を使用してデータを書き込む際、データは計算または処理されません。たとえば、Map データから重複キーは削除されません。ストレージエンジンに特定の制限がない限り、元のデータ構造が保持されます。

次の表は、MaxCompute と Apache Arrow のデータ型の間のマッピングを示しています。

MaxCompute データ型

Arrow データ型

TINYINT

Int8Type

SMALLINT

Int16Type

INT

Int32Type

BIGINT

Int64Type

FLOAT

FloatType

DOUBLE

DoubleType

BOOLEAN

BooleanType

DECIMAL

Decimal128Type

説明

MaxCompute の DECIMAL 型の精度は、ストレージ API の Decimal128Type よりも高いです。

  • データを読み取る際、MaxCompute の DECIMAL 型は Arrow の decimal(38,18) 型に変換されて出力されます。オーバーフローが発生した場合は例外がスローされます。

  • データを書き込む際、Arrow の decimal(precision,scale) 型は MaxCompute の DECIMAL(38,18) 型に変換されます。精度とスケールは同じでなければなりません。

DECIMAL(precision, scale)

Decimal128Type

STRING

StringType

BINARY

BinaryType

VARCHAR

StringType

CHAR

StringType

DATETIME

TimestampType[1]

時間単位はミリ秒、タイムゾーンは UTC です。

TIMESTAMP

TimestampType[2]

時間単位はナノ秒、タイムゾーンは UTC です。

説明

TIMESTAMP 型はより広い値の範囲をサポートします。ストレージ API を使用して TimestampType の精度範囲を超える TIMESTAMP データを読み書きする場合、値の高精度部分は切り捨てられ、精度の低下が発生します。

DATE

Date32Type

INTERVAL_DAY_TIME

DayTimeIntervalType

説明

INTERVAL_DAY_TIME 型はナノ秒まで正確です。ストレージ API の DayTimeIntervalType 型はミリ秒まで正確です。ストレージ API を使用して INTERVAL_DAY_TIME データを読み書きする場合、ナノ秒部分は切り捨てられ、精度の低下が発生します。

INTERVAL_YEAR_MONTH

MonthIntervalType

ARRAY

ListType

MAP

MapType

説明

MAP に重複キーが含まれる場合:

  • 書き込みフェーズ:ストレージ API は、データ書き込み時に Map 内の重複キーを処理しません。元のデータ構造が保持され、ストレージに書き込まれます。

  • クエリフェーズ:データをクエリする際、SQL エンジンは「後勝ち」の原則を使用し、Map データ型の一意のキーのセマンティクスに準拠した結果を返します。

たとえば、生データ {'a': 1, 'b': 2, 'a': 3} を書き込むと、クエリ結果は {'a': 3, 'b': 2} となります。

STRUCT

StructType

JSON

StringType