UNLOAD コマンドは、MaxCompute プロジェクト内のデータを外部ストレージ(OSS または Hologres)にエクスポートし、他のコンピューティングエンジンで利用できるようにします。
権限要件
MaxCompute の権限:エクスポート対象の MaxCompute テーブルに対して、アカウントが
Select権限を持っている必要があります。権限付与手順については、「MaxCompute の権限」をご参照ください。外部ストレージの権限:MaxCompute から外部ストレージ(OSS や Hologres など)へデータをエクスポートする前に、MaxCompute が当該外部ストレージにアクセスできるよう、事前に権限付与を行う必要があります。
OSS への権限付与:OSS では、セキュリティレベルの高いワンクリック権限付与方式がサポートされています。詳細については、「STS モードでの RAM ロールの権限付与」をご参照ください。本トピックの例では、このワンクリック権限付与方式を採用しており、使用する RAM ロールの名前は
AliyunODPSDefaultRoleです。Hologres への権限付与:権限付与を完了するには、RAM ロールを作成し、Hologres へのアクセス権限を付与したうえで、そのロールを Hologres インスタンスに追加する必要があります。詳細については、「Hologres 外部テーブルの作成(STS モード)」をご参照ください。
外部ストレージへのエクスポート
UNLOAD コマンドは追加モード(append mode)で動作します。同一の宛先パスに対して複数回エクスポートを実行すると、既存ファイルを上書きせず、新しいファイルがそのパス内に生成されます。データを上書きする場合は、UNLOAD コマンドを実行する前に宛先パスをクリアしてください。
OSS へのエクスポート
テキスト形式(CSV または TSV)
この方法では、組み込みの StorageHandler を使用してデータをエクスポートし、デフォルトでファイルに .csv または .tsv の拡張子が付与されます。
構文
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO
LOCATION <oss_location>
STORED BY <StorageHandler>
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)];主なパラメーター
パラメーター | 説明 |
oss_location | 宛先 OSS パス。形式は |
StorageHandler | 組み込みハンドラを指定します:
|
SERDEPROPERTIES | エクスポートプロパティを設定します。代表的なプロパティは以下のとおりです:
|
例
例 1:GZIP 圧縮 CSV としてエクスポート
MaxCompute プロジェクト内の sale_detail テーブルから OSS へデータをエクスポートします。以下のサンプルデータは sale_detail テーブルからのものです:
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。方法 1:SELECT クエリを使用
-- 単一ワーカーが MaxCompute テーブルから読み取るデータ量を 256 MB に設定します。この設定により、出力ファイル数が制御されます。 SET odps.stage.mapper.split.size=256; UNLOAD FROM (SELECT * FROM sale_detail) INTO LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' STORED BY 'com.aliyun.odps.CsvStorageHandler' WITH SERDEPROPERTIES ( 'odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole', 'odps.text.option.gzip.output.enabled'='true' );方法 2:テーブル名を直接指定(クエリ料金は発生しません)
-- 単一ワーカーが MaxCompute テーブルから読み取るデータ量を 256 MB に設定します。この設定により、出力ファイル数が制御されます。 SET odps.stage.mapper.split.size=256; UNLOAD FROM sale_detail INTO LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' STORED BY 'com.aliyun.odps.CsvStorageHandler' WITH SERDEPROPERTIES ( 'odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole', 'odps.text.option.gzip.output.enabled'='true' );結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。データは CSV 形式でエクスポートされ、GZIP 形式で圧縮されます。
例 2:パーティションデータを圧縮 TSV としてエクスポート
sale_date='2013' および region='china' のパーティションを持つ sale_detail テーブルから、TSV 形式でデータをエクスポートし、GZIP で圧縮します。
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。SET odps.stage.mapper.split.size=256; UNLOAD FROM sale_detail PARTITION (sale_date='2013',region='china') INTO LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' STORED BY 'com.aliyun.odps.TsvStorageHandler' WITH SERDEPROPERTIES ( 'odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole', 'odps.text.option.gzip.output.enabled'='true' );結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。データは TSV 形式でエクスポートされ、GZIP 形式で圧縮されます。
オープンソース形式(Parquet または ORC)
この方法では、カラム指向ストレージや構造化データ形式など、さまざまなオープンソース形式へのデータエクスポートをサポートします。
構文
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO
LOCATION <oss_location>
[ROW FORMAT SERDE '<serde_class>'
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)]
]
STORED AS <file_format>
[PROPERTIES ('<tbproperty_name>'='<tbproperty_value>')];主なパラメーター
パラメーター | 説明 |
oss_location | 宛先 OSS パス。形式は |
serde_class | シリアル化/デシリアライズ(SerDe)ライブラリを指定します。たとえば Parquet の場合、 |
SERDEPROPERTIES |
|
file_format | 必須。 |
PROPERTIES | - |
サポートされる形式と圧縮
ファイル形式 | サポートされる圧縮コーデック | 説明 |
PARQUET | SNAPPY、LZO | 分析クエリに適したカラム指向ストレージ形式です。 |
ORC | SNAPPY、LZO | Hadoop エコシステムに適したカラム指向ストレージ形式です。 |
TEXTFILE | GZIP | カスタム区切り文字をサポートするテキスト形式です。 |
RCFILE | - | 行・列ハイブリッド型のストレージ形式です。 |
SEQUENCEFILE | - | Hadoop シーケンスファイル形式です。 |
AVRO | - | データシリアル化形式です。 |
JSON | - | JSON 形式です。 |
例
例 1:SNAPPY 圧縮 Parquet としてエクスポート
MaxCompute プロジェクト内の sale_detail テーブルから OSS へデータをエクスポートします。以下のサンプルデータは sale_detail テーブルからのものです:
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。-- 単一ワーカーが MaxCompute テーブルから読み取るデータ量を 256 MB に設定します。この設定により、出力ファイル数が制御されます。 SET odps.stage.mapper.split.size=256; UNLOAD FROM (SELECT * FROM sale_detail) INTO LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' WITH SERDEPROPERTIES ( 'odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole' ) STORED AS PARQUET PROPERTIES('mcfed.parquet.compression'='SNAPPY');結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。データは PARQUET 形式でエクスポートされ、SNAPPY で圧縮されます。
例 2:パーティションデータを Parquet としてエクスポート
MaxCompute の sale_detail テーブルの sale_date='2013' および region='china' のパーティションから、SNAPPY 圧縮付き PARQUET 形式でデータをエクスポートします。sale_detail のデータは以下のとおりです:
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。-- 単一ワーカーが MaxCompute テーブルから読み取るデータ量を 256 MB に設定します。この設定により、出力ファイル数が制御されます。 SET odps.stage.mapper.split.size=256; UNLOAD FROM sale_detail PARTITION (sale_date='2013',region='china') INTO LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location' ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' WITH SERDEPROPERTIES ('odps.properties.rolearn'='acs:ram::<uid>:role/AliyunODPSDefaultRole') STORED AS PARQUET PROPERTIES('mcfed.parquet.compression'='SNAPPY');結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。データは PARQUET 形式でエクスポートされ、SNAPPY で圧縮されます。
例 3:カスタム区切り文字付きテキストファイルとしてエクスポート
sale_detail テーブルのデータを TXT ファイルとしてエクスポートし、カンマを区切り文字として指定します。
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。-- 単一ワーカーが MaxCompute テーブルから読み取るデータ量を 256 MB に設定します。この設定により、出力ファイル数が制御されます。 SET odps.sql.allow.fullscan=true; UNLOAD FROM (SELECT * FROM sale_detail) INTO LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/mc-unload/data_location/' ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES ('field.delim'=',') STORED AS TEXTFILE PROPERTIES ('odps.external.data.enable.extension'='true');結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。エクスポートされたファイルは TXT 形式であり、データはカンマで区切られます。
ファイル名のカスタマイズ
OSS へ UNLOAD 実行時に、PROPERTIES または SERDEPROPERTIES 内のプロパティを使用して、出力ファイルのプレフィックス、サフィックス、拡張子をカスタマイズできます。
構文
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO
LOCATION <oss_location>
[ROW FORMAT SERDE '<serde_class>'
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)]
]
STORED AS <file_format>
[PROPERTIES ('<tbproperty_name>'='<tbproperty_value>',...)];主なパラメーター
property_name/tbproperty_name | 説明 | 例の値 |
odps.external.data.output.prefix | 1~10 文字のファイル名プレフィックス。英字、数字、アンダースコア(_)のみ使用可能です。 | 'mc_' |
odps.external.data.output.suffix | 英字、数字、アンダースコア(_)を含むファイル名サフィックス。 | '_hangzhou' |
odps.external.data.enable.extension | デフォルトのファイル拡張子(例: | 'true' |
odps.external.data.output.explicit.extension | デフォルトの拡張子をオーバーライドするカスタムファイル拡張子。 | 'jsonl' |
拡張機能
odps.external.data.enable.extension=true を設定した場合、異なる外部テーブルのファイル拡張子は自動的に以下のように生成されます。
ファイル形式 | SerDe | 拡張子 |
SEQUENCEFILE | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | .sequencefile |
TEXTFILE | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe | .txt |
RCFILE | org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe | .rcfile |
ORC | org.apache.hadoop.hive.ql.io.orc.OrcSerde | .orc |
PARQUET | org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe | .parquet |
AVRO | org.apache.hadoop.hive.serde2.avro.AvroSerDe | .avro |
JSON | org.apache.hive.hcatalog.data.JsonSerDe | .json |
CSV | org.apache.hadoop.hive.serde2.OpenCSVSerde | .csv |
SNAPPY または LZO 圧縮でデータをエクスポートする場合、ファイル名に .snappy や .lzo の拡張子は自動的に付与されません。
例
例 1:テキストファイル名のカスタマイズ
MaxCompute プロジェクト内の sale_detail テーブルから OSS へ TXT ファイルとしてデータをエクスポートし、ファイル名を mc_<system-generated>_beijing.txt とします。sale_detail のデータは以下のとおりです:
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。UNLOAD FROM (SELECT * FROM sale_detail) INTO LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/***/textfile' row format serde 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' STORED AS textfile PROPERTIES ( 'odps.external.data.output.prefix'='mc_', 'odps.external.data.output.suffix'='_beijing', 'odps.external.data.enable.extension'='true');結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。エクスポートされたファイルの名前は
mc_<system-generated_name>_beijing.txtです。
例 2:JSON ファイル拡張子のカスタマイズ
MaxCompute プロジェクト内の sale_detail テーブルから OSS へ JSON ファイルとしてデータをエクスポートし、ファイル名を mc_<system-generated file name>_beijing.json の形式にします。sale_detail のデータは以下のとおりです:
-- パーティションフィールド:sale_date、region
+------------+-------------+-------------+------------+------------+
| shop_name | customer_id | total_price | sale_date | region |
+------------+-------------+-------------+------------+------------+
| s1 | c1 | 100.1 | 2013 | china |
| s2 | c2 | 100.2 | 2013 | china |
| s3 | c3 | 100.3 | 2013 | china |
| null | c5 | NULL | 2014 | shanghai |
| s6 | c6 | 100.4 | 2014 | shanghai |
| s7 | c7 | 100.5 | 2014 | shanghai |
+------------+-------------+-------------+------------+------------+操作手順:
OSS で:OSS コンソールにログインし、
mc-unload/data_location/ディレクトリをoss-cn-hangzhouリージョンのバケット内に作成した後、OSS パスを構築します。「バケットの作成方法」については、「コンソールでのバケットの作成」をご参照ください。バケット、リージョン、エンドポイント情報をもとに OSS パスを構築します:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_locationMaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。UNLOAD FROM (SELECT * FROM sale_detail) INTO LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/***/json' ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' WITH SERDEPROPERTIES ( 'odps.external.data.output.prefix'='mc_', 'odps.external.data.output.suffix'='_beijing', 'odps.external.data.output.explicit.extension'='json') STORED AS JSON;結果の確認:OSS コンソールにログインし、宛先 OSS パス内のエクスポート済みファイルを確認します。エクスポートされたファイルの名前は
mc_<system-generated-name>_beijing.jsonです。
Hologres へのエクスポート
制限事項
二重署名による権限付与:Hologres へのデータエクスポートでは、二重署名による権限付与はサポートされていません。
パーティションテーブル:Hologres のパーティションテーブルへのデータエクスポートはサポートされていません。
データ型のマッピング:宛先 Hologres テーブルの列のデータ型は、ソース MaxCompute テーブルの列のデータ型と一致している必要があります。詳細については、「MaxCompute と Hologres 間のデータ型マッピング」をご参照ください。
構文
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO
LOCATION <hologres_location>
STORED BY <StorageHandler>
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)];主なパラメーター
パラメーター | 説明 |
hologres_location | 宛先 Hologres テーブルの JDBC 接続文字列。形式は |
StorageHandler | 組み込みハンドラを指定します。JDBC 接続方式を使用する場合は、固定値 |
SERDEPROPERTIES | 以下の 3 つのプロパティを必ず含める必要があります:
|
例
MaxCompute テーブル data_test を Hologres テーブル mc_2_holo へエクスポートします。data_test のデータは以下のとおりです:
+------------+------+
| id | name |
+------------+------+
| 3 | rgege |
| 4 | Gegegegr |
+------------+------+操作手順:
Hologres で:宛先テーブル
mc_2_holoを作成します。CREATE TABLE mc_2_holo (id INT, name TEXT);MaxCompute で:MaxCompute クライアントにログインし、
UNLOADコマンドを実行します。UNLOAD FROM (SELECT * FROM data_test) INTO LOCATION 'jdbc:postgresql://hgprecn-cn-5y**********-cn-hangzhou-internal.hologres.aliyuncs.com:80/test?ApplicationName=MaxCompute¤tSchema=public&useSSL=false&table=mc_2_holo/' STORED BY 'com.aliyun.odps.jdbc.JdbcStorageHandler' WITH SERDEPROPERTIES ( 'odps.properties.rolearn'='acs:ram::13**************:role/aliyunodpsholorole', 'mcfed.mapreduce.jdbc.driver.class'='org.postgresql.Driver', 'odps.federation.jdbc.target.db.type'='holo' );結果の確認:Hologres 内でエクスポートされたデータを確認します。
SELECT * FROM mc_2_holo;以下の結果が返されます:
id name 4 Gegegegr 3 rgege
課金
コマンド料金
UNLOADコマンド自体は無料です。クエリ句の料金:
UNLOADコマンド内のクエリ句は、データをスキャンし、エクスポートデータを生成するためにコンピューティングリソースを消費します。そのため、クエリ句は標準 SQL ジョブとして課金されます。
コスト見積もり
OSS と MaxCompute の両方にデータを保存する場合、それぞれ異なるコスト要素が関係します。MaxCompute からデータをエクスポートすることがコスト効率的であるかどうかを判断するには、ストレージコスト、データ量の変化、およびその後のクエリコストを含めた総コストを見積もる必要があります。
直接的なストレージコスト
MaxCompute では、標準、低頻度アクセス、アーカイブの各ストレージクラスが提供されており、すべてゾーン冗長ストレージをサポートしています。ストレージ課金の詳細については、「ストレージ料金」をご参照ください。
OSS でも、標準、低頻度アクセス、アーカイブの各ストレージクラスが提供されており、ゾーン冗長ストレージをサポートし、MaxCompute のストレージ価格と同程度の価格設定となっています。さらに、OSS ではゾーン冗長ストレージをサポートしない、より低コストのコールドアーカイブおよびディープコールドアーカイブのストレージクラスも提供されています。詳細については、「OSS ストレージ料金」をご参照ください。
データ量の変化
MaxCompute では、インポートされたデータが約 5:1 の比率で圧縮され、圧縮後のデータサイズに対して課金されます。
OSS にデータを保存する場合、データ形式および圧縮方法を明示的に指定・管理する必要があります。「MaxCompute がデータエクスポートでサポートするデータ形式および圧縮方法」については、「OSS 外部テーブル」をご参照ください。圧縮を適用しない場合、OSS へのエクスポート時にデータ量が増加します。
その後のクエリコスト
MaxCompute に保存されたデータはいつでもクエリ可能ですが、低頻度アクセスおよびアーカイブのストレージクラスでは、追加のデータアクセス料金が発生します。OSS の非標準ストレージクラスからデータを読み取る場合、データ取得料金または早期削除料金が発生する可能性があります
関連ドキュメント
OSS などの外部ストレージから CSV 形式またはその他のオープンソース形式のデータを MaxCompute へインポートする方法については、「LOAD」をご参照ください。