As tabelas externas do MaxCompute permitem consultar e analisar dados armazenados em sistemas de armazenamento externo, como o OSS.
Como funciona
O MaxCompute SQL processa dados offline em escala de exabytes. Com a expansão das cargas de trabalho de big data, os dados residem cada vez mais em data lakes, data warehouses em tempo real, bancos de dados NoSQL e outros sistemas.
O MaxCompute oferece suporte a cenários de data warehouse e data lake com sua arquitetura de armazenamento e computação distribuída. Existem dois modos disponíveis para processar dados externos:
-
Modo 1: Importar e depois processar
Importe os dados para o MaxCompute. Dados estruturados são armazenados como tabelas para consultas SQL ou acesso por engines de terceiros. Dados não estruturados também podem ser armazenados e processados no MaxCompute para maior eficiência de E/S.
-
Modo 2: Processar no local
Use o MaxCompute SQL como engine de computação para consultar dados diretamente no armazenamento externo, como um data lake.
O MaxCompute oferece governança robusta de data warehouse e integra-se a sistemas de armazenamento externo. As tabelas externas são o principal mecanismo para acessar dados externos.
-
Definição e mecanismo
Uma instrução DDL define o nome da tabela, o schema, as propriedades, as permissões, a localização e o protocolo para acessar dados externos. O MaxCompute armazena esses metadados.
Consultas SQL usam esses metadados para se conectar a sources de dados externas, recuperar ou atualize metadados e ler, processar ou gravar dados.
-
Casos de uso
As tabelas externas permitem computar dados externos diretamente, gerenciar sources de dados externas na governança do MaxCompute, processar dados estruturados ou não estruturados de data lakes em lote, trocar dados e arquivar data warehouses em tempo real.
Faturamento
-
Taxas de armazenamento
Não há cobrança de taxas de armazenamento.
Os dados da tabela externa permanecem no sistema externo e o MaxCompute não os copia. O MaxCompute não cobra taxas de armazenamento para tabelas externas. Consulte as regras de faturamento da sua source de dados externa para verificar os custos de armazenamento.
-
Taxas de computação: as taxas de computação seguem as regras de faturamento de recursos de computação do MaxCompute:
-
Assinatura ou recursos de CU reservados:
As taxas de computação de tabelas externas estão incluídas nos valores pré-pagos dos recursos de computação.
-
Pagamento conforme o uso:
Jobs SQL que referenciam tabelas externas (incluindo jobs OSS, OTS, Hologres, HBase, JDBC (como RDS), HDFS, OSSHDFS e Object Table).
-
-
Taxas de rede
Conectar-se a tabelas externas pelo endpoint público do MaxCompute gera tráfego de rede pública e taxas de baixe. Overview of Billable Items and Billing Methods.
-
Taxas de sources de dados externas
As sources de dados externas podem cobrar taxas de computação, acesso ou transferência de dados. Consulte as regras de faturamento do service correspondente.
Atualmente, o Tunnel e o Tunnel SDK não oferecem suporte a tabelas externas. Carregue dados em tabelas internas do MaxCompute pelo Tunnel, ou carregue-os no OSS pelo OSS Python SDK e mapeie os dados para uma tabela externa no MaxCompute.
-
Tabelas externas permitem gravar dados em sources de dados externas, mas os recursos de gravação e a consistência estão sujeitos às limitações do sistema externo:
Hologres: O MaxCompute acessa metadados do Hologres via JDBC e não pode garantir a atomicidade das transações de gravação. A engine SQL do MaxCompute pode ler dados do Hologres Pangu diretamente, mas não pode gravar dados nele. Devido à complexidade das gravações paralelas distribuídas em múltiplos processos, o MaxCompute não oferece suporte a
INSERT OVERWRITEpara o Hologres, e a falha de um job pode resultar em gravação parcial de dados.HDFS: Também baseado em HMS. Gravações no HDFS têm baixa probabilidade de inconsistência.
OSS: Gravações em tabelas externas do OSS usam arquivos de metadados .odps para reduzir a probabilidade de gravações incompletas. Se você desative os arquivos de metadados .odps para garantir compatibilidade com a engine, as gravações também poderão ficar incompletas.
Ao usar
INSERT OVERWRITEpara gravar dados externos, o MaxCompute grava os novos dados primeiro, em seguida, exclui os dados existentes na tabela ou partição durante a fase de commit DDL e os substitui pelos novos dados. Não é possível reverter dados excluídos. Faça backup dos seus dados antes de gravar e valide os resultados após a conclusão da gravação. Se ocorrerem problemas, execute a gravação completa novamente.Acesse dados não estruturados do OSS e do TableStore (OTS): OSS external tables e Access OTS unstructured data.
Personalize a autorização do RAM para o MaxCompute acessar o OSS por meio de tabelas externas: Authorization for external data sources.
Grave dados do MaxCompute no OSS usando INSERT: OSS external tables.
Processe dados em formatos de código aberto: OSS external tables.
Use o DataWorks com o MaxCompute para crie, pesquisar, consultar, configure, processar e analisar tabelas externas de forma visual: External tables.
Escopo
Referências
Tabelas externas suportadas
O MaxCompute oferece suporte a tabelas externas para OSS, Hologres, RDS e outros services:
Exemplos de tabelas externas
Os exemplos a seguir mostram como processar dados não estruturados usando tabelas externas do MaxCompute: