Ao importar dados para o MaxCompute, a escolha do canal e da ferramenta depende do padrão de chegada das informações: lotes agendados ou fluxo contínuo. O MaxCompute oferece três canais (MaxCompute Tunnel, Streaming Tunnel e DataHub), cada um otimizado para um cenário específico de entrega de dados. Este tópico explica como selecionar o canal adequado e quais ferramentas estão disponíveis em cada opção.
Escolha um canal
Selecione o canal com base na forma como os dados chegam e na frequência de atualização.
|
Canal |
Mais indicado para |
Fontes típicas |
Ferramentas disponíveis |
|
MaxCompute Tunnel |
Cargas únicas ou em lotes agendados |
Arquivos, bancos de dados, armazenamento de objetos, arquivos de log |
Data Integration (DataWorks), comandos Tunnel, conectores open source, Tunnel SDK |
|
Streaming Tunnel |
Gravações contínuas de baixa latência com dados em tempo real |
Filas de mensagens, streams de eventos, logs de aplicações |
Data Integration (sincronização em tempo real), envio via Simple Log Service, envio via ApsaraMQ for Kafka, Realtime Compute for Apache Flink |
|
DataHub |
Dados em streaming que exigem fluxos de publicação, assinatura, distribuição ou arquivamento |
Qualquer fonte de streaming via APIs do DataHub |
APIs do DataHub |
Upload de dados em lotes
O MaxCompute Tunnel gerencia operações em lote, como upload de arquivos, migração de bancos de dados, extração de armazenamento de objetos e ingestão de arquivos de log. As ferramentas abaixo estão listadas da mais automatizada para a mais personalizável.
Data Integration (recomendado)
Use o Data Integration, serviço de sincronização de dados do DataWorks, para extrair, transformar e carregar dados no MaxCompute sem escrever código de conector. Esta é a abordagem recomendada para iniciar a sincronização de dados offline.
Para obter detalhes de configuração, consulte Visão geral.
Conectores open source
Se seu pipeline já utiliza ferramentas open source, os conectores a seguir gravam diretamente no MaxCompute:
| Conector | Mais indicado para |
|---|---|
| Sqoop | Fontes de banco de dados relacional |
| Kettle | Fluxos de trabalho ETL |
| Flume | Streams de logs e eventos |
| Fluentd | Coleta unificada de logs |
| Oracle GoldenGate (OGG) | Replicação de banco de dados Oracle |
Comandos Tunnel
O cliente MaxCompute inclui comandos Tunnel nativos baseados no Tunnel SDK. Use-os para uploads ad hoc via linha de comando.
Para obter referência de comandos, consulte Comandos Tunnel.
Tunnel SDK
Use o Tunnel SDK diretamente quando precisar de controle programático total sobre os uploads, por exemplo, para criar uma integração personalizada ou lidar com formatos de dados não padronizados.
Para obter detalhes da API, consulte MaxCompute Tunnel.
Gravação de dados em modo streaming
O Streaming Tunnel utiliza um conjunto separado de APIs e serviços de backend em relação ao MaxCompute Tunnel. Adote esta opção quando os dados chegarem continuamente e precisarem estar disponíveis no MaxCompute com atraso mínimo.
|
Solução |
Funcionamento |
|
Data Integration — sincronização em tempo real |
Grave dados em streaming no MaxCompute usando nós de sincronização em tempo real no DataWorks. Consulte Visão geral dos nós de sincronização em tempo real. |
|
Envio de dados |
Envie dados para o MaxCompute a partir de serviços que integram APIs de gravação em streaming, como Simple Log Service e ApsaraMQ for Kafka. |
|
Realtime Compute for Apache Flink |
Escreva dados em streaming no MaxCompute em tempo real utilizando o Realtime Compute for Apache Flink. |
Melhoria do desempenho de upload
As condições de rede afetam significativamente o throughput de upload. Em situações normais, a velocidade varia entre 1 MB/s e 10 MB/s.
Para otimizar o desempenho em uploads grandes:
Use um endpoint de Virtual Private Cloud (VPC) ou de interconexão de produtos em nuvem. Acesse o endpoint do Tunnel por meio de uma instância Elastic Compute Service (ECS) ou linha dedicada. Para obter a lista de endpoints do Tunnel por região, consulte Endpoints.
Adote upload multithread. Se a velocidade estiver baixa, alterne para uma implementação multithread para paralelizar a transferência de dados.
Acordo de nível de serviço
O MaxCompute Tunnel e o Streaming Tunnel operam em recursos compartilhados gratuitos. O serviço Tunnel aloca slots disponíveis conforme a sequência de acesso aos dados. Observe as seguintes restrições do acordo de nível de serviço (SLA):
Na ausência de recursos disponíveis, a solicitação aguarda até que haja liberação.
O serviço Tunnel fica indisponível se houver menos de 100 solicitações válidas em uma janela de 5 minutos.
Latência e limites de taxa de solicitações não são cobertos pelo SLA.
Próximos passos
MaxCompute Tunnel — Arquitetura do Tunnel e referência do SDK
Comandos Tunnel — Referência de upload via linha de comando
Endpoints — Referência de endpoints do Tunnel por região