Todos os produtos
Search
Central de documentação

MaxCompute:Tabelas externas SEQUENCEFILE

Última atualização: Jun 27, 2026

As tabelas externas SequenceFile permitem consultar e gravar dados armazenados no formato Hadoop SequenceFile no Object Storage Service (OSS) diretamente do MaxCompute, sem carregar os dados previamente. Esse recurso é ideal para acessar cargas de trabalho existentes do Hadoop ou Hive a partir do MaxCompute ou compartilhar dados entre sistemas.

Limitações

Limitação

Detalhes

Propriedade cluster

Incompatível. Não inclua a propriedade cluster ao criar uma tabela externa SequenceFile.

Tamanho de arquivo único

Não pode exceder 2 GB. Divida arquivos maiores que 2 GB antes de referenciá-los em uma tabela externa.

Região

O MaxCompute e o OSS devem estar na mesma região.

Tipos de dados compatíveis

Os tipos de dados do MaxCompute a seguir são compatíveis com tabelas externas SequenceFile. Para a especificação completa de tipos, consulte Tipos de dados (Versão 1.0) e Tipos de dados (Versão 2.0).

Tipo de dado

Compatível

Tipo de dado

Compatível

TINYINT

Sim

STRING

Sim

SMALLINT

Sim

DATE

Sim

INT

Sim

DATETIME

Sim

BIGINT

Sim

TIMESTAMP

Sim

BINARY

Sim

TIMESTAMP_NTZ

Sim

FLOAT

Sim

BOOLEAN

Sim

DOUBLE

Sim

ARRAY

Sim

DECIMAL(precision,scale)

Sim

MAP

Sim

VARCHAR(n)

Sim

STRUCT

Sim

CHAR(n)

Sim

JSON

Sim

Crie uma tabela externa

Sintaxe

CREATE EXTERNAL TABLE [IF NOT EXISTS] <mc_oss_extable_name>
(
  <col_name> <data_type>,
  ...
)
[COMMENT <table_comment>]
[PARTITIONED BY (<col_name> <data_type>)]
STORED AS sequencefile
LOCATION '<oss_location>';

Parâmetros

Parâmetro

Obrigatório

Descrição

mc_oss_extable_name

Sim

Nome da tabela externa no MaxCompute.

col_name data_type

Sim

Definições das colunas. Todos os tipos de dados compatíveis estão listados na tabela acima.

COMMENT table_comment

Não

Descrição opcional para a tabela.

PARTITIONED BY

Não

Define as colunas de partição. Se os dados no OSS estiverem organizados em partições estilo Hive (por exemplo, dt=20250521/), adicione uma coluna de partição correspondente aqui.

STORED AS sequencefile

Sim

Especifica o formato de armazenamento SequenceFile.

LOCATION

Sim

Caminho do OSS onde os dados SequenceFile estão armazenados, no formato oss://<endpoint>/<path>/.

Para obter a referência completa de parâmetros, consulte Parâmetros de sintaxe básica.

Gravar dados

Para consultar a sintaxe de gravação de dados do MaxCompute para o OSS, consulte Gravar dados no OSS.

Consultar e analisar dados

Exemplo: crie, consulte e grave em uma tabela externa SequenceFile

Este exemplo demonstra como criar uma tabela externa SequenceFile particionada, carregar um conjunto de dados de teste do OSS, consultar os dados e gravar uma nova linha.

Pré-requisitos

Antes de começar, verifique se você tem:

O MaxCompute oferece suporte à criação automática de pastas no OSS. Se uma instrução SQL envolver tabelas externas e funções definidas pelo usuário (UDFs), use uma única instrução para ler e gravar nas tabelas e utilizar as UDFs. Também é possível criar a pasta manualmente no console do OSS antes de executar as instruções abaixo.

Etapa 1: Carregar dados de teste

Faça login no console do OSS e carregue o arquivo de teste 20250611TableSink na pasta external-table-test/sequence/dt=20250521/ do seu bucket do OSS. Para instruções de upload, consulte Carregar arquivos no OSS.

Etapa 2: Crie a tabela externa

Crie uma tabela externa SequenceFile particionada que aponte para o caminho do OSS onde os dados de teste estão armazenados.

CREATE EXTERNAL TABLE mc_oss_extable_name_sequencefile1_pt
(
  vehicleId STRING,
  recordId STRING,
  patientId STRING,
  calls STRING,
  locationLatitute STRING,
  locationLongtitue STRING,
  recordTime STRING,
  direction STRING
)
PARTITIONED BY (dt STRING)
STORED AS sequencefile
LOCATION 'oss://oss-cn-hangzhou-internal.aliyuncs.com/external-table-test/sequence/';

Etapa 3: Importar dados da partição

Como a tabela é particionada, execute MSCK REPAIR TABLE para detectar e registrar as partições existentes no OSS.

MSCK REPAIR TABLE mc_oss_extable_name_sequencefile1_pt ADD PARTITIONS;

Etapa 4: Selecione os dados

SELECT * FROM mc_oss_extable_name_sequencefile1_pt WHERE dt=20250521;

A consulta retorna 11 linhas do conjunto de dados de teste:

+------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
| vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  | dt         |
+------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
| 1          | 12         | 76         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:10 | SW         | 20250521   |
| 1          | 1          | 51         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:00 | S          | 20250521   |
| 1          | 2          | 13         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:01 | NE         | 20250521   |
| 1          | 3          | 48         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:02 | NE         | 20250521   |
| 1          | 4          | 30         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:03 | W          | 20250521   |
| 1          | 5          | 47         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:04 | S          | 20250521   |
| 1          | 6          | 9          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:05 | S          | 20250521   |
| 1          | 7          | 53         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:06 | N          | 20250521   |
| 1          | 8          | 63         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:07 | SW         | 20250521   |
| 1          | 9          | 4          | 1          | 46.81006         | -92.08174         | 9/14/2014 0:08 | NE         | 20250521   |
| 1          | 10         | 31         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:09 | N          | 20250521   |
+------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+

Etapa 5: Gravar dados

Insira uma nova linha na partição.

INSERT INTO mc_oss_extable_name_sequencefile1_pt PARTITION (dt='20250521')
VALUES
('1','16','76','1','46.81006','-92.08174','9/14/2014 0:10','SW');

Etapa 6: Verifique a gravação

Consulte a linha recém-inserida para confirme se a gravação ocorreu corretamente.

SELECT * FROM mc_oss_extable_name_sequencefile1_pt WHERE dt=20250521 AND recordId='16';

Saída esperada:

+------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
| vehicleid  | recordid   | patientid  | calls      | locationlatitute | locationlongtitue | recordtime | direction  | dt         |
+------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+
| 1          | 16         | 76         | 1          | 46.81006         | -92.08174         | 9/14/2014 0:10 | SW         | 20250521   |
+------------+------------+------------+------------+------------------+-------------------+------------+------------+------------+

Próximos passos