> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Insertar datos en ClickHouse Cloud con clickhouse-client

> Aprende a usar clickhouse-client para insertar datos desde archivos CSV y Parquet locales en un servicio de ClickHouse Cloud desde la línea de comandos.

export const e_1 = undefined

export const e_0 = undefined

<a href="/docs/get-started/quickstarts/home" onClick={(e_0) => { e_0.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</a>

<div className="mt-2 flex flex-wrap gap-2">
  <Badge size="lg" color="blue">Analítica en tiempo real</Badge>
  <Badge size="lg" color="blue">Data Warehousing</Badge>
  <Badge size="lg" color="blue">Observabilidad</Badge>
  <Badge size="lg" color="blue">IA/ML</Badge>
  <Badge size="lg" color="orange">Cloud</Badge>
</div>

<div id="prerequisites">
  ## Requisitos previos
</div>

También deberías haber completado las siguientes guías de inicio rápido:

* [Inicio rápido de ClickHouse Cloud](/docs/es/get-started/setup/cloud) - necesitarás un servicio de ClickHouse Cloud en ejecución para insertar datos
* [Obtén los datos de conexión de Cloud](/docs/es/get-started/quickstarts/obtain-your-cloud-connection-details) - necesitarás tu hostname, nombre de usuario y contraseña para conectarte

<div id="what-youll-build">
  ## Lo que crearás
</div>

En esta guía de inicio rápido usarás **clickhouse-client** —el cliente oficial de ClickHouse CLI— para insertar datos desde un archivo CSV local en un servicio de ClickHouse Cloud.
Instalarás clickhouse-client, prepararás un conjunto de datos de ejemplo, te conectarás a tu servicio de ClickHouse Cloud, crearás una tabla e insertarás datos desde tu equipo local.
Al final, sabrás cómo usar clickhouse-client para cargar archivos locales en ClickHouse Cloud, en un flujo de trabajo compatible con CSV, Parquet, JSON y muchos otros formatos.

<Steps titleSize="h3">
  <Step title="Instalar clickhouse-client" id="install-clickhouse-client">
    `clickhouse-client` es la interfaz de línea de comandos oficial para conectarse a ClickHouse. Está incluido en el binario de ClickHouse.

    Instálalo con el instalador universal:

    ```bash theme={null}
    curl https://clickhouse.com/ | sh
    ```

    Esto descarga la versión más reciente del binario `clickhouse` en tu directorio actual. Verifica la instalación:

    ```bash theme={null}
    ./clickhouse client --version
    ```

    Deberías ver una salida que muestre el número de versión de ClickHouse, lo que confirma que `clickhouse-client` está listo para usarse.
  </Step>

  <Step title="Prepara un archivo CSV de ejemplo" id="prepare-a-sample-csv-file">
    Crea un pequeño archivo CSV de ejemplo para que esta guía de inicio rápido sea autosuficiente. Ejecuta lo siguiente en tu terminal:

    ```bash theme={null}
    cat <<'EOF' > sample_data.csv
    timestamp,event_type,user_id,duration_ms,status
    2024-01-15 10:30:00,page_view,1001,120,success
    2024-01-15 10:31:15,click,1002,45,success
    2024-01-15 10:32:00,page_view,1003,200,success
    2024-01-15 10:33:30,purchase,1001,1500,success
    2024-01-15 10:34:00,click,1004,60,error
    2024-01-15 10:35:45,page_view,1002,95,success
    2024-01-15 10:36:10,purchase,1005,2200,success
    2024-01-15 10:37:00,click,1003,30,success
    2024-01-15 10:38:20,page_view,1004,150,error
    2024-01-15 10:39:00,purchase,1002,1800,success
    EOF
    ```
  </Step>

  <Step title="Conéctate a tu servicio en Cloud" id="connect-to-your-cloud-service">
    Los siguientes comandos asumen que has exportado `CLICKHOUSE_HOST`, `CLICKHOUSE_USER` y `CLICKHOUSE_PASSWORD` como variables de entorno, tal como se describe en la [guía de inicio rápido para obtener los detalles de conexión de tu servicio en Cloud](/docs/es/get-started/quickstarts/obtain-your-cloud-connection-details). Si no lo has hecho, puedes sustituirlos directamente por tus valores.

    Prueba la conectividad ejecutando una consulta sencilla en tu servicio en Cloud:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "SELECT 1"
    ```

    Si la conexión se establece correctamente, verás `1` en la terminal. Si aparece un error de conexión, comprueba que tu servicio esté activo en la consola de Cloud y que tu hostname y contraseña sean correctos.

    <Note>
      El puerto `9440` es el puerto seguro del protocolo nativo de ClickHouse Cloud. La opción `--secure` habilita el cifrado TLS. Ambos son necesarios para todas las conexiones a Cloud.
    </Note>
  </Step>

  <Step title="Crear una tabla de destino e insertar datos" id="create-a-target-table-and-insert-data">
    Primero, crea una tabla en tu servicio de Cloud para recibir los datos:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "
        CREATE TABLE IF NOT EXISTS events (
          timestamp DateTime,
          event_type LowCardinality(String),
          user_id UInt32,
          duration_ms UInt32,
          status LowCardinality(String)
        )
        ENGINE = MergeTree
        ORDER BY (event_type, timestamp)
      "
    ```

    Ahora inserta los datos de tu archivo CSV local. Este es el paso clave: `clickhouse-client` lee el archivo desde stdin y lo envía al servicio remoto en streaming:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "INSERT INTO events FORMAT CSVWithNames" < sample_data.csv
    ```

    `clickhouse-client` envía el contenido del archivo CSV directamente a tu servicio de Cloud. El formato `CSVWithNames` indica a ClickHouse que la primera fila contiene los nombres de las columnas.
  </Step>

  <Step title="Verifica que se hayan insertado los datos" id="verify-the-data-was-inserted">
    Ejecuta una consulta en tu servicio de Cloud para confirmar que las filas se insertaron correctamente:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "SELECT count() FROM events"
    ```

    Deberías ver `10`: el número de filas del CSV de muestra.

    Previsualiza los datos:

    ```bash theme={null}
    ./clickhouse client \
      --host $CLICKHOUSE_HOST \
      --port 9440 \
      --user $CLICKHOUSE_USER \
      --password $CLICKHOUSE_PASSWORD \
      --secure \
      -q "SELECT * FROM events ORDER BY timestamp LIMIT 5"
    ```

    Este mismo flujo de trabajo funciona con Parquet, TSV, JSON, Avro, ORC y muchos otros [formatos compatibles](/docs/es/reference/formats/index) - solo cambia la cláusula `FORMAT` y pasa el archivo adecuado por la tubería.
  </Step>
</Steps>

<div id="next-steps">
  ## Siguientes pasos
</div>

En esta guía de inicio rápido instalaste `clickhouse-client`, lo conectaste a un servicio de ClickHouse Cloud y lo usaste para cargar datos desde un archivo CSV local en Cloud. Este mismo enfoque funciona con Parquet, JSON y decenas de otros formatos.

A continuación, consulta estas guías de inicio rápido:

* [Crea tu primera tabla MergeTree](/docs/es/get-started/quickstarts/create-your-first-mergetree-table)

O profundiza con la documentación de referencia:

* [Referencia de clickhouse-client](/docs/es/concepts/features/interfaces/client)
* [Formatos de entrada/salida compatibles](/docs/es/reference/formats/index)

<Frame caption="Check out the ClickHouse academy for on-demand and live training">
  <a href="https://learn.clickhouse.com/" target="_blank">
    <img src="https://mintcdn.com/private-7c7dfe99/EDr8ydtGBgFPOQea/images/academy.webp?fit=max&auto=format&n=EDr8ydtGBgFPOQea&q=85&s=27e92fc656183cc2f176211907a7aa49" alt="ClickHouse Academy — Master ClickHouse with expert-designed training for every skill level" width="560" noZoom data-path="images/academy.webp" />
  </a>
</Frame>

<div className="mt-8">
  <a href="/docs/get-started/quickstarts/home" onClick={(e_1) => { e_1.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</a>
</div>
