Todos los productos
Search
Centro de documentos

DataHub:CLI

Última actualización: Sep 05, 2026

Utilice la herramienta de línea de comandos para acceder a sus proyectos de DataHub y ejecutar comandos.

Requisitos previos

  • Java 8 o una versión posterior instalada.

Instalación y configuración del cliente

  1. Descargue y extraiga el paquete de la herramienta de línea de comandos datahub_console.tar.gz.

  2. Al extraer el paquete se crean los directorios bin, conf y lib.

  3. Vaya al directorio conf e introduzca la información de ak y endpoint en el archivo datahub.properties de la siguiente manera:

    datahub.accessid=
    datahub.accesskey=
    datahub.endpoint=

    Detalles de los parámetros:

    Parámetro

    Obligatorio

    Descripción

    Ejemplo

    datahub.accessid

    Sí

    El AccessKey ID de su cuenta de Alibaba Cloud o usuario de RAM.

    N/A

    datahub.accesskey

    Sí

    El AccessKey Secret correspondiente al AccessKey ID especificado.

    N/A

    datahub.endpoint

    Sí

    El endpoint del servicio DataHub.

    Establezca el endpoint según la región y el tipo de red de su proyecto de DataHub. Para consultar la lista de endpoints disponibles, consulte DataHub Endpoints.

    https://dh-cn-hangzhou.aliyuncs.com

Ejecución del cliente

Inicie el cliente mediante uno de los siguientes métodos:

  • Opción 1: En el directorio bin de la ruta de instalación del cliente, haga doble clic en el archivo datahubcmd.bat (para Windows) para iniciar el cliente. El cliente se inicia correctamente cuando aparece el símbolo del sistema DataHub=>.

  • Opción 2: En la ventana de línea de comandos de su sistema, vaya al directorio bin de la ruta de instalación del cliente. Ejecute el comando datahubcmd (para Windows) o sh datahubcmd.sh (para Linux o macOS). El cliente se inicia correctamente cuando aparece el símbolo del sistema DataHub=>.

Ayuda de comandos

Para obtener ayuda sobre los comandos, utilice uno de los siguientes métodos.

  • Opción 1: Consulte la información de ayuda desde el propio cliente.

    • Consulte todos los comandos:

      help
    • Consulte los comandos relacionados por palabra clave. Por ejemplo, para obtener una lista de topics:

      DataHub=>help lt
      NAME
              lt - List topic
      
      SYNOPSYS
              lt [-p] string
      
      OPTIONS
              -p  string
                      projectName
                      [Mandatory]
      
  • Opción 2: Desde la ventana de línea de comandos de su sistema, vaya al directorio bin en la ruta de instalación del cliente y ejecute el siguiente comando para consultar la ayuda de todos los comandos.

    ...\bin>datahubcmd help

Referencia de comandos

Project

  • Crear un proyecto

    cp -p test_project  -c test_comment
    • -p: El nombre del proyecto.

    • -c: Una descripción para el proyecto.

  • Eliminar un proyecto

    Importante

    Antes de eliminar un proyecto, debe eliminar todos sus recursos, como topics, suscripciones y tareas de sincronización de datos. De lo contrario, la operación fallará.

    dp -p test_project
    • -p: El nombre del proyecto.

  • Listar proyectos

    lp

Topic

  • Crear un topic

    ct -p test_project -t test_topic -m TUPLE -f [(name,string,true)] -s 3 -l 3 -c test_comment
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -m: El tipo de topic. Los valores válidos son BLOB o TUPLE.

    • -f: El esquema para un topic de tipo tuple. El formato es [(fieldName,fieldType,isNull)]. Separe varios campos con comas.

    • -s: El número de shards.

    • -l: El ciclo de vida de los datos, en días. El valor debe estar entre 1 y 7.

    • -c: Una descripción para el topic.

  • Eliminar un topic

    dt -p test_project -t test_topic
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

  • Obtener información del topic

    gt -p test_project -t test_topic
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

  • Exportar el esquema de un topic a un archivo JSON

    gts -f filepath -p test_project -t test_topic
    • -f: La ruta donde se guarda el archivo JSON.

    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

  • Listar topics

    lt -p test_project
    • -p: El nombre del proyecto.

  • Crear un topic a partir de un archivo JSON

    rtt -s 3 -l 3 -c test_comment -f filepath -p test_project -t test_topic
    • -s: El número de shards.

    • -l: El ciclo de vida de los datos en días. El rango válido es de 1 a 7.

    • -f: La ruta del archivo.

    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

  • Actualizar el ciclo de vida del topic

    utl -p test_project -t test_topic -l 3 -c test_comment
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -l: El ciclo de vida del topic.

    • -c: Una descripción para el topic.

  • Agregar un campo al topic

    anf -p test_project -t test_topic -l [(f1,STRING)]
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -l: El nuevo campo que se va a agregar. El formato es [(fieldName,fieldType)].

Connector

  • Crear un conector de 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: El nombre del proyecto.

    • -t: El nombre del topic.

    • -m: El tipo de sincronización. Para sincronizar con ODPS, los tipos compatibles son SYSTEM_TIME, USER_DEFINE, EVENT_TIME y META_TIME.

    • -e: El endpoint de ODPS. Debe utilizar un endpoint de red clásica.

    • -op: El nombre del proyecto de ODPS.

    • -oa: El AccessKey ID para acceder a ODPS.

    • -ok: El AccessKey Secret para acceder a ODPS.

    • -tr: El intervalo de tiempo de partición en minutos. El valor predeterminado es 60.

    • -tf: El formato de partición. Utilice ds para particiones diarias, ds hh para horarias y ds hh mm para particiones a nivel de minuto.

  • Agregar un campo a un conector de ODPS

    acf -p test_project -t test_topic -c connectorId -f fieldName
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -c: El ID del conector. Puede encontrarlo en la pestaña Data Synchronization.

    • -f: El nombre del nuevo campo.

  • Crear un conector de 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: El nombre del proyecto.

    • -t: El nombre del topic.

    • -h: El host. Debe utilizar un endpoint de red clásica.

    • -po: El puerto.

    • -ty: El tipo de destino. Los valores válidos son:

      • SINK_MYSQL crea un conector para sincronizar datos con MySQL.

      • SINK_ADS crea un conector para sincronizar datos con ADS.

    • -d: El nombre de la base de datos.

    • -ta: El nombre de la tabla.

    • -u: El nombre de usuario.

    • -pa: La contraseña.

    • -ht: El modo de inserción. Los valores válidos son:

      • IGNORE

      • OVERWRITE

    • -n: Los campos que se van a sincronizar. Ejemplo: (field1,field2).

  • Crear un conector de DataHub

    cdhc -p test_project -t test_topic -sp sinkProject -st sinkTopic -m AK -i accessid k accessKey
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -sp: El proyecto de destino donde se importarán los datos.

    • -st: El topic de destino donde se importarán los datos.

    • -m: El tipo de autenticación

    • AK: Autentica mediante un AccessKey. Requiere accessId y accessKey.

    • STS: Autentica mediante Security Token Service (STS).

  • Crear un conector de FC

    cfc -p test_project -t test_topic -e endpoint -s service -f function -au AK -i accessId -k accessKey -n (field1,field2)
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -e: El endpoint de Function Compute (FC). Debe utilizar un endpoint de red clásica.

    • -s: El nombre del servicio de FC.

    • -f: El nombre de la función de FC.

    • -au: El método de autenticación

    • AK: Autentica mediante un AccessKey. Requiere accessId y accessKey.

    • STS: Autentica mediante STS.

    • -n: Los campos que se van a sincronizar. Ejemplo: (field1,field2).

  • Crear un conector de 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: El nombre del proyecto.

    • -t: El nombre del topic.

    • -e: El endpoint.

    • -cl: Los campos que se van a sincronizar con Hologres.

    • -au: El método de autenticación. Actualmente, solo se admite la autenticación AK para conectores de Hologres.

    • -m: El tipo de análisis sintáctico:

      • Delimiter: Requiere especificar las propiedades lineDelimiter, parseData y columnDelimiter.

      • InformaticaJson: Requiere especificar la propiedad parseData.

  • Crear un conector de OTS

    cotsc -p test_project -t test_topic -i accessId -k accessKey -it instanceId -m AK -t table -wm PUT -c (field1,field2)
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -it: El nombre de la instancia de Tablestore (OTS).

    • -m: El tipo de autenticación. El valor predeterminado es STS.

    • AK: Autentica mediante un AccessKey. Debe proporcionar un accessId y un accessKey.

    • STS: Autentica mediante STS.

    • -t: El nombre de la tabla de OTS.

    • -wm: El modo de escritura. Se admiten dos modos:

      • PUT

      • UPDATE

    • -c: Los campos que se van a sincronizar. Ejemplo: (field1,field2).

  • Crear un conector de 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: El nombre del proyecto.

    • -t: El nombre del topic.

    • -e: El endpoint de Elasticsearch. Debe ser un endpoint interno y un puerto con el formato internal_endpoint:internal_port.

    • -i: El índice. Para obtener más información sobre los índices, consulte Create a connector to synchronize data to Elasticsearch.

    • -u: El nombre de usuario para acceder a Elasticsearch.

    • -w: La contraseña para acceder a Elasticsearch.

    • -n: La columna de propiedad de ID.

    • -ty: La columna de propiedad de tipo.

    • -r: La columna de propiedad de router.

    • -c: Los campos que se van a importar.

    • -ti: La hora de inicio de la sincronización, en formato yyyy-mm-dd hh:mm:ss.

  • Crear un conector de OSS

    csc -p test_project -t test_topic -b bucket -e endpoint -pr ossPrefix -tf ossTimeFormat -tr timeRange -c (f1,f2)
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -b: El nombre del bucket de Object Storage Service (OSS).

    • -e: El nombre del endpoint de OSS.

    • -pr: El prefijo de directorio para los datos sincronizados con OSS.

    • -tf: El formato de hora de sincronización. Por ejemplo, %Y%m%d%H%M especifica particiones a nivel de minuto.

    • -tr: El intervalo de tiempo para las particiones.

    • -c: Los campos que se van a sincronizar.

  • Eliminar conectores

    dc -p test_project -t test_topic -c connectorId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -c: El ID del conector. Puede encontrarlo en la pestaña Data Synchronization.

  • Obtener detalles del conector

    gc -p test_project -t test_topic -c connectorId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -c: El ID del conector. Puede encontrarlo en la pestaña Data Synchronization.

  • Listar conectores en un topic

    lc -p test_project -t test_topic
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

  • Reiniciar un conector

    rc -p test_project -t test_topic -c connectorId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -c: El ID del conector. Puede encontrarlo en la pestaña Data Synchronization.

  • Actualizar el AccessKey de un conector

    uca -p test_project -t test_topic -c connectorId  -a accessId -k accessKey
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -c: El ID del conector. Puede encontrarlo en la pestaña Data Synchronization.

Shard

  • Fusionar shards

    ms -p test_project -t test_topic -s shardId -a adjacentShardId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -s: El ID del shard que se va a fusionar.

    • -a: El ID del shard adyacente con el que se va a fusionar.

  • Dividir un shard

    ss -p test_project -t test_topic -s shardId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -s: El ID del shard que se va a dividir.

  • Listar shards en un topic

    ls -p test_project -t topicName
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

  • Obtener el estado de sincronización del shard

    gcs -p test_project -t test_topic -s shardId -c connectorId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -s: El ID del shard.

    • -c: El ID del conector. Puede encontrarlo en la pestaña Data Synchronization.

  • Obtener el desplazamiento de consumo de un shard

    gso -p test_project -t test_topic -s subid -i shardId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -s: El ID de la suscripción.

    • -i: El ID del shard.

Subscription

  • Crear una suscripción

    css -p test_project -t test_topic -c comment
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -c: Una descripción para la suscripción.

  • Eliminar una suscripción

    dsc -p test_project -t test_topic -s subId
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -s: El ID de la suscripción.

  • Listar suscripciones

    lss -p test_project -t test_topic
    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

Carga y descarga de datos

  • Cargar datos

    uf -f filepath -p test_topic -t test_topic -m "," -n 1000
    • -f: La ruta del archivo. Nota: Para rutas de Windows, debe escapar las barras invertidas. Ejemplo: D:\\test\\test.txt.

    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -m: El delimitador de texto. Se admiten comas (,) y espacios.

    • -n: El tamaño del lote para cada carga. El valor predeterminado es 1000.

    Ejemplo: Cargar un archivo CSV

    Este ejemplo muestra cómo cargar un archivo CSV en DataHub. El archivo tiene el siguiente 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,14321111111

    En el archivo CSV anterior, cada línea es un registro y los campos están separados por comas (,). El archivo se guarda en la ruta local /temp/test.csv. El topic de DataHub tiene el siguiente esquema:

    Nombre del campo

    Tipo

    id

    BIGINT

    name

    STRING

    gender

    BOOLEAN

    salary

    DOUBLE

    my_time

    TIMESTAMP

    Ejecute el siguiente comando:

    uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000
  • Descargar datos

    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: La ruta para guardar el archivo descargado. Para rutas de Windows, debe escapar las barras invertidas (por ejemplo, D:\\test\\test.txt).

    • -p: El nombre del proyecto.

    • -t: El nombre del topic.

    • -s: El ID del shard.

    • -d: El ID de la suscripción.

    • -ti: La marca de tiempo a partir de la cual se comenzarán a leer los datos. El cliente leerá los registros creados en este momento o posteriormente. El formato es yyyy-mm-dd hh:mm:ss.

    • -l: El número de registros que se leerán en cada lote.

    • -g: Especifica si se debe leer de forma continua.

      • 0: Lee solo un lote de registros y luego se detiene.

      • 1: Lee de forma continua.

Preguntas frecuentes

  • El script no se inicia en Windows: Esto puede ocurrir si la ruta del script contiene paréntesis. Para resolverlo, asegúrese de que la ruta completa al script no contenga ningún paréntesis.