Use a ferramenta de linha de comando para acessar seus projetos do DataHub e executar comandos.
Pré-requisitos
Java 8 ou versão posterior instalada.
Instale e configure o cliente
Baixe e extraia o pacote da ferramenta de linha de comando datahub_console.tar.gz.
A extração do pacote cria os diretórios
bin,confelib.-
Acesse o diretório
confe insira as informações deakeendpointno arquivodatahub.propertiesconforme abaixo:datahub.accessid= datahub.accesskey= datahub.endpoint=Detalhes dos parâmetros:
Parâmetro
Obrigatório
Descrição
Exemplo
datahub.accessid
Sim
AccessKey id da sua conta Alibaba Cloud ou usuário RAM.
N/A
datahub.accesskey
Sim
AccessKey Secret correspondente ao AccessKey id especificado.
N/A
datahub.endpoint
Sim
Endpoint do service DataHub.
Defina o endpoint de acordo com a região e o tipo de rede do seu projeto DataHub. Para obter uma lista de endpoints disponíveis, consulte DataHub Endpoints.
Execute o cliente
Inicie o cliente usando um dos métodos a seguir:
Opção 1: No diretório
bindo caminho de instalação do cliente, clique em duas vezes no arquivodatahubcmd.bat(para Windows) para iniciar o cliente. A inicialização é bem-sucedida quando o promptDataHub=>é exibido.Opção 2: Na janela de linha de comando do sistema, acesse o diretório
bindo caminho de instalação do cliente. Execute o comandodatahubcmd(para Windows) oush datahubcmd.sh(para Linux ou macOS). A inicialização é bem-sucedida quando o promptDataHub=>é exibido.
Ajuda sobre comandos
Para obter ajuda sobre os comandos, use um dos métodos abaixo.
-
Opção 1: Visualize as informações de ajuda diretamente no cliente.
-
Visualize todos os comandos:
help -
Filtre comandos relacionados por palavra-chave. Por exemplo, para obter uma lista de tópicos:
DataHub=>help lt NAME lt - List topic SYNOPSYS lt [-p] string OPTIONS -p string projectName [Mandatory]
-
-
Opção 2: Na janela de linha de comando do sistema, acesse o diretório
binno caminho de instalação do cliente e execute o comando a seguir para visualizar a ajuda de todos os comandos....\bin>datahubcmd help
Referência de comandos
Projeto
-
Crie um projeto
cp -p test_project -c test_comment-p: Nome do projeto.
-c: Descrição do projeto.
-
Exclua um projeto
ImportanteAntes de excluir um projeto, exclua todos os recursos associados, como tópicos, assinaturas e tarefas de sincronização de dados. Caso contrário, a operação falhará.
dp -p test_project-p: Nome do projeto.
-
Listar projetos
lp
Tópico
-
Crie um tópico
ct -p test_project -t test_topic -m TUPLE -f [(name,string,true)] -s 3 -l 3 -c test_comment-p: Nome do projeto.
-t: Nome do tópico.
-m: Tipo do tópico. Valores válidos:
BLOBouTUPLE.-f: Schema para um tópico do tipo tuple. Formato:
[(fieldName,fieldType,isNull)]. Separe múltiplos campos com vírgulas.-s: Quantidade de shards.
-l: Ciclo de vida dos dados, em dias. O valor deve estar entre 1 e 7.
-c: Descrição do tópico.
-
Exclua um tópico
dt -p test_project -t test_topic-p: Nome do projeto.
-t: Nome do tópico.
-
Obter informações do tópico
gt -p test_project -t test_topic-p: Nome do projeto.
-t: Nome do tópico.
-
Exportar o schema de um tópico para um arquivo JSON
gts -f filepath -p test_project -t test_topic-f: Caminho onde o arquivo JSON será salvo.
-p: Nome do projeto.
-t: Nome do tópico.
-
Listar tópicos
lt -p test_project-p: Nome do projeto.
-
Crie um tópico a partir de um arquivo JSON
rtt -s 3 -l 3 -c test_comment -f filepath -p test_project -t test_topic-s: Quantidade de shards.
-l: Ciclo de vida dos dados em dias. Intervalo válido: 1 a 7.
-f: Caminho do arquivo.
-p: Nome do projeto.
-t: Nome do tópico.
-
Atualize o ciclo de vida do tópico
utl -p test_project -t test_topic -l 3 -c test_comment-p: Nome do projeto.
-t: Nome do tópico.
-l: Ciclo de vida do tópico.
-c: Descrição do tópico.
-
Adicionar um campo ao tópico
anf -p test_project -t test_topic -l [(f1,STRING)]-p: Nome do projeto.
-t: Nome do tópico.
-l: Novo campo a adicionar. Formato:
[(fieldName,fieldType)].
Connector
-
Crie um connector ODPS
coc -p test_project -t test_topic -m SYSTEM_TIME -e odpsEndpoint -op odpsProject -ot odpsTable -oa odpsAccessId -ok odpsAccessKey -tr 60 -c (field1,field2) -tf ds hh mm-p: Nome do projeto.
-t: Nome do tópico.
-m: Tipo de sincronização. Para sincronização com ODPS, os tipos suportados são
SYSTEM_TIME,USER_DEFINE,EVENT_TIMEeMETA_TIME.-e: Endpoint do ODPS. Use obrigatoriamente um endpoint de rede clássica.
-op: Nome do projeto ODPS.
-oa: AccessKey id para acesso ao ODPS.
-ok: AccessKey Secret para acesso ao ODPS.
-tr: Intervalo de tempo da partição em minutos. Valor padrão: 60.
-tf: Formato da partição. Use
dspara partições diárias,ds hhpara horárias eds hh mmpara partições no nível de minuto.
-
Adicionar um campo a um connector ODPS
acf -p test_project -t test_topic -c connectorId -f fieldName-p: Nome do projeto.
-t: Nome do tópico.
-c: id do connector. Disponível na aba Data Synchronization.
-f: Nome do novo campo.
-
Crie um connector MySQL/RDS
cdc -p test_project -t test_topic -h host -po 3306 -ty mysql -d mysql_database -ta msyql_table -u username -pa password -ht IGNORE -n (field1,field2)-p: Nome do projeto.
-t: Nome do tópico.
-h: Host. Use obrigatoriamente um endpoint de rede clássica.
-po: Porta.
-
-ty: Tipo de destino. Valores válidos:
SINK_MYSQL: cria um connector para sincronizar dados com MySQL.SINK_ADS: cria um connector para sincronizar dados com ADS.
-d: Nome do banco de dados.
-ta: Nome da tabela.
-u: Nome de usuário.
-pa: Senha.
-
-ht: Modo de inserção. Valores válidos:
IGNOREOVERWRITE
-n: Campos a sincronizar. Exemplo:
(field1,field2).
-
Crie um connector DataHub
cdhc -p test_project -t test_topic -sp sinkProject -st sinkTopic -m AK -i accessid k accessKey-p: Nome do projeto.
-t: Nome do tópico.
-sp: Projeto de destino para importação de dados.
-st: Tópico de destino para importação de dados.
-m: Tipo de autenticação
AK: Autentica via AccessKey. RequeraccessIdeaccessKey.STS: Autentica via Security Token Service (STS).
-
Crie um connector FC
cfc -p test_project -t test_topic -e endpoint -s service -f function -au AK -i accessId -k accessKey -n (field1,field2)-p: Nome do projeto.
-t: Nome do tópico.
-e: Endpoint do Function Compute (FC). Use obrigatoriamente um endpoint de rede clássica.
-s: Nome do service FC.
-f: Nome da função FC.
-au: Método de autenticação
AK: Autentica via AccessKey. RequeraccessIdeaccessKey.STS: Autentica via STS.-n: Campos a sincronizar. Exemplo:
(field1,field2).
-
Crie um connector Hologres
chc -p test_project -t test_topic -e endpoint -cl (field,field2) -au AK -hp holoProject -ht holoTopic -i accessId -k accessKey -m Delimiter -l 1 -b false -n (field1,field2)-p: Nome do projeto.
-t: Nome do tópico.
-e: Endpoint.
-cl: Campos a sincronizar com o Hologres.
-au: Método de autenticação. Atualmente, apenas a autenticação AK é suportada para connectors Hologres.
-
-m: Tipo de parsing:
Delimiter: Requer a especificação das propriedadeslineDelimiter,parseDataecolumnDelimiter.InformaticaJson: Requer a especificação da propriedadeparseData.
-
Crie um connector OTS
cotsc -p test_project -t test_topic -i accessId -k accessKey -it instanceId -m AK -t table -wm PUT -c (field1,field2)-p: Nome do projeto.
-t: Nome do tópico.
-it: Nome da instância do Tablestore (OTS).
-m: Tipo de autenticação. Padrão: STS.
AK: Autentica via AccessKey. Forneça umaccessIdeaccessKey.STS: Autentica via STS.-t: Nome da tabela OTS.
-
-wm: Modo de escrita. Modos suportados:
PUTUPDATE
-c: Campos a sincronizar. Exemplo:
(field1,field2).
-
Crie um connector Elasticsearch
cec -p test_project -t test_es -e endpoint:9200 -i f1 -u user -w password -n (f1,f2) -ty (f1,f2) -r (f1,f2) -c (f1,f2) -ti "1970-01-01 00:00:00"-p: Nome do projeto.
-t: Nome do tópico.
-e: Endpoint do Elasticsearch. Deve ser um endpoint interno e porta no formato
internal_endpoint:internal_port.-i: Índice. Para mais informações sobre índices, consulte Create a connector to synchronize data to Elasticsearch.
-u: Nome de usuário para acesso ao Elasticsearch.
-w: Senha para acesso ao Elasticsearch.
-n: Coluna de propriedade de id.
-ty: Coluna de propriedade de tipo.
-r: Coluna de propriedade de roteador.
-c: Campos a importar.
-ti: Horário de início da sincronização, no formato
yyyy-mm-dd hh:mm:ss.
-
Crie um connector oss
csc -p test_project -t test_topic -b bucket -e endpoint -pr ossPrefix -tf ossTimeFormat -tr timeRange -c (f1,f2)-p: Nome do projeto.
-t: Nome do tópico.
-b: Nome do bucket do Object Storage Service (oss).
-e: Nome do endpoint do oss.
-pr: Prefixo do diretório para dados sincronizados com o oss.
-tf: Formato de tempo da sincronização. Por exemplo,
%Y%m%d%H%Mespecifica partições no nível de minuto.-tr: Intervalo de tempo para partições.
-c: Campos a sincronizar.
-
Exclua connectors
dc -p test_project -t test_topic -c connectorId-p: Nome do projeto.
-t: Nome do tópico.
-c: id do connector. Disponível na aba Data Synchronization.
-
Obter detalhes do connector
gc -p test_project -t test_topic -c connectorId-p: Nome do projeto.
-t: Nome do tópico.
-c: id do connector. Disponível na aba Data Synchronization.
-
Listar connectors em um tópico
lc -p test_project -t test_topic-p: Nome do projeto.
-t: Nome do tópico.
-
Reiniciar um connector
rc -p test_project -t test_topic -c connectorId-p: Nome do projeto.
-t: Nome do tópico.
-c: id do connector. Disponível na aba Data Synchronization.
-
Atualize o AccessKey de um connector
uca -p test_project -t test_topic -c connectorId -a accessId -k accessKey-p: Nome do projeto.
-t: Nome do tópico.
-c: id do connector. Disponível na aba Data Synchronization.
Shard
-
Mesclar shards
ms -p test_project -t test_topic -s shardId -a adjacentShardId-p: Nome do projeto.
-t: Nome do tópico.
-s: id do shard a mesclar.
-a: id do shard adjacente para mesclagem.
-
Dividir um shard
ss -p test_project -t test_topic -s shardId-p: Nome do projeto.
-t: Nome do tópico.
-s: id do shard a dividir.
-
Listar shards em um tópico
ls -p test_project -t topicName-p: Nome do projeto.
-t: Nome do tópico.
-
Obter status de sincronização do shard
gcs -p test_project -t test_topic -s shardId -c connectorId-p: Nome do projeto.
-t: Nome do tópico.
-s: id do shard.
-c: id do connector. Disponível na aba Data Synchronization.
-
Obter o offset de consumo de um shard
gso -p test_project -t test_topic -s subid -i shardId-p: Nome do projeto.
-t: Nome do tópico.
-s: id da assinatura.
-i: id do shard.
Assinatura
-
Crie uma assinatura
css -p test_project -t test_topic -c comment-p: Nome do projeto.
-t: Nome do tópico.
-c: Descrição da assinatura.
-
Exclua uma assinatura
dsc -p test_project -t test_topic -s subId-p: Nome do projeto.
-t: Nome do tópico.
-s: id da assinatura.
-
Listar assinaturas
lss -p test_project -t test_topic-p: Nome do projeto.
-t: Nome do tópico.
Upload e download de dados
-
Fazer upload de dados
uf -f filepath -p test_topic -t test_topic -m "," -n 1000-f: Caminho do arquivo. Nota: Em caminhos do Windows, escape as barras invertidas. Exemplo:
D:\\test\\test.txt.-p: Nome do projeto.
-t: Nome do tópico.
-m: Delimitador de texto. Vírgulas (
,) e espaços são suportados.-n: Tamanho do lote para cada upload. Padrão: 1000.
Exemplo: Upload de um arquivo CSV
Este exemplo demonstra como fazer upload de um arquivo CSV para o DataHub. O arquivo possui o seguinte formato:
1. 0,qe614c760fuk8judu01tn5x055rpt1,true,100.1,14321111111 2. 1,znv1py74o8ynn87k66o32ao4x875wi,true,100.1,14321111111 3. 2,7nm0mtpgo1q0ubuljjjx9b000ybltl,true,100.1,14321111111 4. 3,10t0n6pvonnan16279w848ukko5f6l,true,100.1,14321111111 5. 4,0ub584kw88s6dczd0mta7itmta10jo,true,100.1,14321111111 6. 5,1ltfpf0jt7fhvf0oy4lo8m3z62c940,true,100.1,14321111111 7. 6,zpqsfxqy9379lmcehd7q8kftntrozb,true,100.1,14321111111 8. 7,ce1ga9aln346xcj761c3iytshyzuxg,true,100.1,14321111111 9. 8,k5j2id9a0ko90cykl40s6ojq6gruyi,true,100.1,14321111111 10. 9,ns2zcx9bdip5y0aqd1tdicf7bkdmsm,true,100.1,14321111111 11. 10,54rs9cm1xau2fk66pzyz62tf9tsse4,true,100.1,14321111111No arquivo CSV acima, cada linha representa um registro e os campos são separados por vírgulas (
,). O arquivo está salvo no caminho local/temp/test.csv. O tópico do DataHub possui o seguinte schema:Nome do campo
Tipo
id
BIGINT
name
STRING
gender
BOOLEAN
salary
DOUBLE
my_time
TIMESTAMP
Execute o seguinte comando:
uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000 -
Baixe dados
down -p test_project -t test_topic -s shardId -d subId -f filePath -ti "1970-01-01 00:00:00" -l 100 -g 0-f: Caminho para salvar o arquivo baixado. Em caminhos do Windows, escape as barras invertidas (por exemplo,
D:\\test\\test.txt).-p: Nome do projeto.
-t: Nome do tópico.
-s: id do shard.
-d: id da assinatura.
-ti: Timestamp inicial para leitura dos dados. O cliente lerá registros criados neste horário ou posteriormente. Formato:
yyyy-mm-dd hh:mm:ss.-l: Quantidade de registros a ler em cada lote.
-
-g: Define se a leitura será contínua.
0: Lê apenas um lote de registros e interrompe.1: Lê continuamente.
Perguntas frequentes
Falha ao iniciar script no Windows: Isso pode ocorrer se o caminho do script contiver parênteses. Para resolver, certifique-se de que o caminho completo do script não contenha parênteses.