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

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

最終更新日:Sep 23, 2026

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

概要

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

image

ユースケース

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

主な機能

  • 高スループット:Storage API は、効率的な列指向データの読み取り、転送前のデータフィルタリングのための述語プッシュダウン、および Arrow データフォーマットをサポートします。

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

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

注意事項

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

  • JSON 型のデータは文字列として読み取られます。

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

データ転送リソース

サードパーティエンジンがデータ転送タスクに MaxCompute Storage API を使用する場合、Data Transmission Service の専有リソースグループ (サブスクリプション) リソースのいずれかを使用できます。次の表にリソースを示します。

リソースグループ名

課金の説明

サポートされるリージョン

使用手順

Data Transmission Service の専有リソースグループ

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

  • 中国 (北京)

  • 中国 (杭州)

  • 中国 (上海)

  • 中国 (深圳)

  • 香港 (中国)

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

  • シンガポール

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

  • 米国 (バージニア)

  • 日本 (東京)

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

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

リソース監視 ページで、データ伝送サービス (サブスクリプション) の専用リソースグループの使用量の詳細を確認できます。 詳細については、「リソース観察」をご参照ください。

例

Arrow データ型マッピング

MaxCompute Storage API は、Apache Arrow データ型を使用して、ストレージおよび転送中のデータの効率的で構造化された表現を実現します。MaxCompute Storage 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 型の精度は、Storage 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 型は、より広い値範囲をサポートします。Storage API を使用して TimestampType の精度範囲を超える TIMESTAMP データを読み書きする場合、値の高精度部分が切り捨てられます。これにより、精度が失われます。

DATE

Date32Type

INTERVAL_DAY_TIME

DayTimeIntervalType

説明

INTERVAL_DAY_TIME 型はナノ秒まで正確です。Storage API DayTimeIntervalType 型はミリ秒まで正確です。Storage API を使用して INTERVAL_DAY_TIME データを読み書きする場合、ナノ秒部分が切り捨てられます。これにより、精度が失われます。

INTERVAL_YEAR_MONTH

MonthIntervalType

ARRAY

ListType

MAP

MapType

説明

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

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

  • クエリフェーズ:データをクエリする際、SQL エンジンは「最終書き込みが優先」の原則を使用し、MAP データ型の一意キーのセマンティクスに準拠した結果を返します。

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

STRUCT

StructType

JSON

StringType