O comando UNLOAD exporta dados de um projeto do MaxCompute para armazenamento externo, como Object Storage Service (OSS) ou Hologres, permitindo que outros mecanismos de computação os utilizem.
Permissões
Permissões do MaxCompute: A conta usada na operação deve ter permissão de leitura (Select) sobre os dados da tabela a ser exportada. Para mais informações sobre como conceder permissões, consulte MaxCompute permissions.
-
Permissões de armazenamento externo: Antes de exportar dados do MaxCompute para armazenamento externo, conceda ao MaxCompute as permissões necessárias para acessar o destino, seja ele OSS ou Hologres.
Autorização do OSS: Há suporte para autorização com um clique, garantindo maior segurança. Para mais detalhes, consulte Authorization solutions for accessing external data sources. Os exemplos utilizam essa modalidade e a função recebe o nome
AliyunODPSDefaultRole.Autorização do Hologres: Para concluir a autorização, crie uma função do RAM, conceda a ela permissões de acesso ao MaxCompute e adicione-a à instância do Hologres. Para mais informações, consulte Create a Hologres foreign table (STS mode).
Exportar dados para armazenamento externo
O comando UNLOAD opera em modo de anexação. Ao exportar dados repetidamente para o mesmo caminho de destino, o sistema não sobrescreve os arquivos existentes; em vez disso, cria novos arquivos no local. Para substituir os dados, limpe manualmente o caminho de destino antes de executar o comando UNLOAD.
Exportar dados para o OSS
Exportar dados em formato de texto (CSV ou TSV)
Este método utiliza um StorageHandler integrado para realizar a exportação. Por padrão, os arquivos de saída recebem a extensão .csv ou .tsv.
Sintaxe
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO | OVERWRITE
LOCATION <oss_location>
STORED BY <StorageHandler>
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)];
Configurações principais
Item de configuração | Descrição |
oss_location | Caminho de destino no OSS. O formato é |
StorageHandler | Processador integrado:
|
SERDEPROPERTIES | Usado para definir propriedades de exportação. As mais comuns são:
|
Exemplos
Example 1: Export data in CSV format and compress the data into a GZIP file
Example 2: Export partitioned data in TSV format and compress the data
Exemplo 1: Exportar dados em formato CSV e compactá-los em GZIP
Exporte dados da tabela sale_detail de um projeto do MaxCompute para o OSS. O código abaixo mostra os dados da tabela sale_detail:
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS localizado na regiãooss-cn-hangzhoue construa o caminho correspondente. Para saber como criar um bucket, consulte Create a bucket in the console. Monte o caminho com base nas informações de bucket, região e endpoint. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando UNLOAD.
Método 1: Usar uma consulta SELECT
-- Set the amount of data to be read from the MaxCompute table by a single worker to 256 MB. This indirectly controls the number of exported files. 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' );Método 2: Especificar diretamente o nome da tabela (sem custos de consulta)
-- Set the amount of data to be read from the MaxCompute table by a single worker to 256 MB. This indirectly controls the number of exported files. 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' ); Verificar o resultado: Acesse o console do OSS e visualize os dados exportados no caminho de destino. O arquivo gerado estará no formato CSV e compactado com GZIP.
Exemplo 2: Exportar dados particionados em formato TSV com compactação
Exporte os dados das partições onde sale_date='2013' e region='china' da tabela sale_detail no formato TSV, aplicando compressão GZIP.
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS na regiãooss-cn-hangzhoue defina o caminho. Para instruções sobre criação de buckets, veja Create a bucket in the console. Construa o caminho usando as informações de bucket, região e endpoint. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando 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' ); Verificar o resultado: Acesse o Console de Gerenciamento do OSS e confira o resultado da importação no caminho de destino. O arquivo exportado estará no formato TSV e compactado com GZIP.
Exportar dados em formato open source (como Parquet ou ORC)
Esta abordagem permite exportar dados para diversos formatos de armazenamento colunar open source ou estruturas de dados padronizadas.
Sintaxe
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO | OVERWRITE
LOCATION <oss_location>
[ROW FORMAT SERDE '<serde_class>'
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)]
]
STORED AS <file_format>
[PROPERTIES ('<tbproperty_name>'='<tbproperty_value>')];
Configurações principais
|
Item de configuração |
Descrição |
|
oss_location |
Caminho de destino no OSS. O formato é |
|
serde_class |
Define a biblioteca de serialização e desserialização. Por exemplo, use |
|
SERDEPROPERTIES |
|
|
file_format |
Obrigatório. Especifica o formato do arquivo, como |
|
PROPERTIES |
- |
Formatos e métodos de compressão suportados
|
Formato de arquivo |
Formatos de compressão suportados |
Descrição |
|
PARQUET |
SNAPPY, LZO |
Formato de armazenamento colunar ideal para consultas analíticas. |
|
ORC |
SNAPPY, LZO |
Armazenamento colunar adequado ao ecossistema Hadoop. |
|
TEXTFILE |
GZIP |
Formato de texto que aceita separadores personalizados. |
|
RCFILE |
- |
Formato híbrido de armazenamento linha-coluna. |
|
SEQUENCEFILE |
- |
Formato de arquivo sequencial do Hadoop. |
|
AVRO |
- |
Formato de serialização de dados. |
|
JSON |
- |
Formato JSON. |
Exemplos
Example 1: Export data in PARQUET format and compress the data using SNAPPY
Example 3: Export data in TEXTFILE format and specify a separator
Exemplo 1: Exportar dados em formato PARQUET com compressão SNAPPY
Exporte dados da tabela sale_detail de um projeto do MaxCompute para o OSS. O trecho abaixo exibe os dados da tabela sale_detail:
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS na regiãooss-cn-hangzhoue monte o caminho. Consulte Create a bucket in the console para aprender a criar buckets. Utilize as informações de bucket, região e endpoint para formar o caminho. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando UNLOAD.
-- Set the amount of data to be read from the MaxCompute table by a single worker to 256 MB. This indirectly controls the number of exported files. 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'); Verificação do resultado: Acesse o Console de Gerenciamento do OSS e visualize o resultado da importação no caminho alvo. Os arquivos exportados estarão no formato PARQUET e comprimidos com SNAPPY.
Exemplo 2: Exportar dados particionados em formato PARQUET
Exporte os dados das partições definidas por sale_date='2013' e region='china' da tabela sale_detail do MaxCompute para o formato PARQUET, utilizando compressão SNAPPY. Veja abaixo os dados da tabela sale_detail:
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS na regiãooss-cn-hangzhoue estruture o caminho. Para detalhes sobre criação de buckets, consulte Create a bucket in the console. Baseie-se nas informações de bucket, região e endpoint. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando UNLOAD.
-- Set the amount of data to be read from the MaxCompute table by a single worker to 256 MB. This indirectly controls the number of exported files. 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'); Verificar o resultado: Acesse o console do OSS e visualize os dados exportados no caminho de destino. O arquivo estará no formato PARQUET e compactado via SNAPPY.
Exemplo 3: Exportar dados em formato TEXTFILE definindo um separador
Exporte os dados da tabela sale_detail para um arquivo TXT, utilizando vírgula (,) como separador.
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS na regiãooss-cn-hangzhoue estabeleça o caminho. Consulte Create a bucket in the console para saber como criar buckets. Forme o caminho com base no bucket, região e endpoint. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando UNLOAD.
-- Set the amount of data to be read from the MaxCompute table by a single worker to 256 MB. This indirectly controls the number of exported files. 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'); Verificar o resultado: Acesse o console do OSS e visualize os dados no caminho de destino. O arquivo exportado estará em formato TXT e usará vírgulas como separadores.
Personalizar prefixos, sufixos e extensões de nomes de arquivo
Ao usar o comando UNLOAD para exportar dados para o OSS, utilize propriedades em PROPERTIES ou SERDEPROPERTIES para personalizar o prefixo, sufixo e extensão dos arquivos de saída.
Sintaxe
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO | OVERWRITE
LOCATION <oss_location>
[ROW FORMAT SERDE '<serde_class>'
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)]
]
STORED AS <file_format>
[PROPERTIES ('<tbproperty_name>'='<tbproperty_value>',...)];
Configurações principais
|
property_name/tbproperty_name |
Descrição |
Valor de exemplo |
|
odps.external.data.output.prefix |
Prefixo do nome do arquivo. Aceita letras, dígitos e underscores (_). Deve ter entre 1 e 10 caracteres. |
'mc_' |
|
odps.external.data.output.suffix |
Sufixo do nome do arquivo. Aceita letras, dígitos e underscores (_). |
'_hangzhou' |
|
odps.external.data.enable.extension |
Define se extensões padrão como |
'true' |
|
odps.external.data.output.explicit.extension |
Extensão personalizada para o arquivo. Esta propriedade tem prioridade sobre a extensão padrão. |
'jsonl' |
Referência de sufixos
A tabela a seguir descreve as extensões geradas automaticamente para diferentes tabelas externas quando o parâmetro odps.external.data.enable.extension=true está definido.
|
Formato de arquivo |
SerDe |
Sufixo |
|
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 |
Ao exportar dados compactados nos formatos SNAPPY ou LZO, as extensões .snappy ou .lzo não aparecem nos nomes dos arquivos gerados.
Exemplos
Example 1: Export a TEXTFILE format file and add a prefix and suffix
Example 2: Export a JSON format file and customize the file name extension
Exemplo 1: Exportar arquivo TEXTFILE adicionando prefixo e sufixo
Exporte dados da tabela sale_detail de um projeto do MaxCompute para o OSS como um arquivo TXT. O arquivo seguirá o padrão de nomenclatura mc_<system-generated>_beijing.txt. Abaixo estão os dados da tabela sale_detail:
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS na regiãooss-cn-hangzhoue defina o caminho. Consulte Create a bucket in the console para instruções sobre criação de buckets. Monte o caminho usando bucket, região e endpoint. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando 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'); Verificar o resultado: Acesse o console do OSS e visualize os dados no caminho de destino. O nome do arquivo exportado será
mc_<system-generated>_beijing.txt.
Exemplo 2: Exportar arquivo JSON personalizando a extensão
Exporte dados da tabela sale_detail de um projeto do MaxCompute para o OSS como um arquivo JSON. O nome do arquivo seguirá o formato mc_<system-generated file name>_beijing.json. Confira abaixo os dados da tabela sale_detail:
-- Partition fields: 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 |
+------------+-------------+-------------+------------+------------+
Procedimento:
-
No lado do OSS: Faça login no console do OSS, crie a pasta
mc-unload/data_location/em um bucket do OSS na regiãooss-cn-hangzhoue configure o caminho. Para saber como criar buckets, veja Create a bucket in the console. Utilize as informações de bucket, região e endpoint. Exemplo:oss://oss-cn-hangzhou-internal.aliyuncs.com/mc-unload/data_location -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando 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; Verificar o resultado: Acesse o console do OSS e visualize os dados no caminho de destino. O nome do arquivo exportado será
mc_<system-generated file name>_beijing.json.
Exportar dados para o Hologres
Limitações
Autorização de assinatura dupla: Não há suporte para autorização de assinatura dupla na exportação para o Hologres.
Tabelas particionadas: Não é possível exportar dados para tabelas particionadas do Hologres.
Mapeamento de tipos: Os tipos de dados dos campos na tabela de destino do Hologres devem corresponder aos tipos de dados dos campos na tabela do MaxCompute. Para mais detalhes, consulte Data type mapping between MaxCompute and Hologres.
Sintaxe
UNLOAD FROM {<select_statement>|<table_name> [PARTITION (<pt_spec>)]}
INTO
LOCATION <hologres_location>
STORED BY <StorageHandler>
[WITH SERDEPROPERTIES ('<property_name>'='<property_value>',...)];
Configurações principais
Item de configuração | Descrição |
hologres_location | String de conexão JDBC da tabela de destino no Hologres. O formato é |
StorageHandler | Especifica um handler integrado. O valor é fixo em |
SERDEPROPERTIES | Este parâmetro deve conter as três propriedades seguintes:
|
Exemplo
Exporte dados da tabela do MaxCompute data_test para a tabela do Hologres mc_2_holo. O código abaixo exibe os dados da tabela data_test:
+------------+------+
| id | name |
+------------+------+
| 3 | rgege |
| 4 | Gegegegr |
+------------+------+
Procedimento:
-
No lado do Hologres: Crie a tabela de destino
mc_2_holono Hologres.CREATE TABLE mc_2_holo (id INT, name TEXT); -
No lado do MaxCompute: Faça login em um MaxCompute client e execute o comando 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' ); -
Verificar o resultado: Visualize os dados exportados no Hologres.
SELECT * FROM mc_2_holo;O seguinte resultado é retornado:
id name 4 Gegegegr 3 rgege
Faturamento
-
Faturamento do comando
O comando UNLOAD em si não gera cobrança.
Faturamento de cláusulas de consulta: A cláusula de consulta em um comando UNLOAD escaneia dados e consome recursos computacionais para gerar a exportação. Portanto, ela é faturada como um trabalho SQL padrão.
-
Estimativa de custos
Armazenar dados estruturados no OSS e mantê-los no MaxCompute traz vantagens distintas. Para reduzir custos ao exportar dados do MaxCompute, faça uma estimativa abrangente que considere custos diretos de armazenamento, variações no volume de dados e custos futuros de consulta.
-
Custos diretos de armazenamento
O MaxCompute oferece as classes de armazenamento Standard, Infrequent Access (IA) e Archive. Todas suportam armazenamento redundante por zona. Para detalhes sobre faturamento de armazenamento, consulte Storage fees.
O OSS também disponibiliza as classes Standard, IA e Archive Storage, todas com suporte a redundância por zona e preços equivalentes aos do MaxCompute. Adicionalmente, o OSS oferece as classes Cold Archive e Deep Cold Archive, que são mais econômicas, mas não possuem redundância por zona. Para mais informações, consulte OSS storage fees.
-
Variações no volume de dados
Dados importados para o MaxCompute atingem uma taxa de compressão de aproximadamente 5:1. O faturamento considera o volume após a compressão.
Para dados armazenados no OSS, você deve definir e manter o formato e o método de compressão. Consulte OSS foreign tables para ver os formatos e métodos suportados na exportação do MaxCompute. Sem compressão, o volume de dados aumentará após a exportação para o OSS.
-
Custos subsequentes de consulta
Dados no MaxCompute podem ser consultados a qualquer momento. Contudo, o uso de classes como Infrequent Access ou Archive implica taxas adicionais de acesso para leitura. No OSS, classes não padrão como Infrequent Access, Archive ou Cold Archive também geram taxas de recuperação de dados. Caso os dados sejam excluídos ou recuperados antes do período mínimo de retenção da classe escolhida, taxas de exclusão antecipada podem ser aplicadas.
-
Referências
Para importar dados em CSV ou outros formatos open source de armazenamento externo para o MaxCompute, consulte LOAD.