La forma más rápida y sencilla de empezar a usar ClickHouse es crear un nuevo servicio en ClickHouse Cloud. En esta guía de inicio rápido, te ayudaremos a configurarlo en tres sencillos pasos.
Crear un servicio de ClickHouse
Para crear un servicio gratuito de ClickHouse en ClickHouse Cloud, solo tienes que registrarte siguiendo estos pasos:
- Crea una cuenta en la página de registro
- Puedes registrarte con tu correo electrónico o mediante Google SSO, Microsoft SSO, AWS Marketplace, Google Cloud o Microsoft Azure
- Si te registras con correo electrónico y contraseña, recuerda verificar tu dirección de correo electrónico en las siguientes 24 h mediante el enlace que recibirás por correo electrónico
- Inicia sesión con el nombre de usuario y la contraseña que acabas de crear

Una vez que hayas iniciado sesión, ClickHouse Cloud inicia el asistente de onboarding, que te guía en la creación de un nuevo servicio de ClickHouse. Selecciona la región en la que deseas desplegar el servicio y asigna un nombre al nuevo servicio:

De forma predeterminada, las nuevas organizaciones se asignan al nivel Scale y crearán 3 réplicas, cada una con 4 vCPU y 16 GiB de RAM. El autoescalado vertical estará habilitado de forma predeterminada en el nivel Scale. Más adelante, puedes cambiar el nivel de la organización en la página «Planes».
Personaliza los recursos del servicio si es necesario, especificando los tamaños mínimo y máximo entre los que podrán escalar las réplicas. Cuando estés listo, selecciona Create service.

¡Felicidades! Tu servicio de ClickHouse Cloud ya está en funcionamiento y el onboarding se ha completado. Sigue leyendo para obtener más información sobre cómo empezar a ingestar y consultar tus datos.
Conectar a ClickHouse
Hay 2 formas de conectarse a ClickHouse:
- Conectarse mediante nuestra consola SQL web
- Conectarse desde su aplicación
Conectarse mediante la consola SQL
Para empezar rápidamente, ClickHouse ofrece una consola SQL web a la que se le redirigirá al completar el proceso de onboarding.

Cree una pestaña de consulta e introduzca una consulta sencilla para verificar que la conexión funciona:
SHOW databasesDeberías ver 4 bases de datos en la lista, además de las que hayas añadido.

Eso es todo; ¡ya puedes empezar a usar tu nuevo servicio de ClickHouse!
Conecta tu aplicación
Pulsa el botón Conectar en el menú de navegación. Se abrirá un cuadro de diálogo con las credenciales de tu servicio y un conjunto de instrucciones para conectarte mediante tu interfaz o client de lenguaje.

Si no ves tu client de lenguaje, quizá te interese consultar nuestra lista de Integrations.
Añadir datos
¡ClickHouse es mejor con datos! Existen múltiples formas de añadir datos y la mayoría están disponibles en la página Data Sources, accesible desde el menú de navegación.

Puede cargar datos mediante los siguientes métodos:
- Configure un ClickPipe para empezar a ingerir datos desde fuentes como S3, Postgres, Kafka y GCS
- Use la consola SQL
- Use el cliente de ClickHouse
- Cargue un archivo - los formatos admitidos incluyen JSON, CSV y TSV
- Cargue datos desde la URL de un archivo
ClickPipes
ClickPipes es una plataforma de integración gestionada que permite ingerir datos desde una gran variedad de fuentes con solo unos pocos clics. Diseñada para las cargas de trabajo más exigentes, la arquitectura robusta y escalable de ClickPipes garantiza un rendimiento y una fiabilidad constantes. ClickPipes puede utilizarse tanto para necesidades de transmisión a largo plazo como para una carga de datos puntual.

Añadir datos mediante la Consola SQL
Como la mayoría de los sistemas de gestión de bases de datos, ClickHouse agrupa lógicamente las tablas en bases de datos. Utilice el comando CREATE DATABASE para crear una nueva base de datos en ClickHouse:
CREATE DATABASE IF NOT EXISTS helloworldEjecute el siguiente comando para crear una tabla llamada my_first_table en la base de datos helloworld:
CREATE TABLE helloworld.my_first_table
(
user_id UInt32,
message String,
timestamp DateTime,
metric Float32
)
ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)En el ejemplo anterior, my_first_table es una tabla MergeTree con cuatro columnas:
user_id: un entero sin signo de 32 bits (UInt32)message: un tipo de datos String que sustituye tipos comoVARCHAR,BLOB,CLOBy otros de otros sistemas de bases de datostimestamp: un valor DateTime que representa un instante temporalmetric: un número de coma flotante de 32 bits (Float32)
Breve introducción a las claves primarias
Antes de seguir adelante, es importante entender cómo funcionan las claves primarias en ClickHouse (¡la implementación de las claves primarias puede resultar sorprendente!):
- las claves primarias de ClickHouse no son únicas para cada fila de una tabla
La clave primaria de una tabla de ClickHouse determina cómo se ordenan los datos cuando se escriben en disco. Cada 8.192 filas o 10 MB de
datos (denominado granularidad del índice) crea una entrada en el archivo del índice de la clave primaria. Este concepto de granularidad
genera un índice disperso que cabe fácilmente en memoria, y los gránulos representan una franja de la menor cantidad de
datos de columna que se procesa durante las consultas SELECT.
La clave primaria puede definirse mediante el parámetro PRIMARY KEY. Si define una tabla sin especificar una PRIMARY KEY,
la clave pasa a ser la tupla indicada en la cláusula ORDER BY. Si especifica tanto una PRIMARY KEY como un ORDER BY, la clave primaria debe ser un subconjunto del orden de clasificación.
La clave primaria también es la clave de ordenación, que es una tupla de (user_id, timestamp). Por lo tanto, los datos almacenados en cada
archivo de columna estarán ordenados por user_id y luego por timestamp.
Para profundizar en los conceptos fundamentales de ClickHouse, consulte "Conceptos fundamentales".
Inserte datos en su tabla
En ClickHouse puede usar el conocido comando INSERT INTO TABLE, pero es importante tener en cuenta que cada inserción en una tabla MergeTree genera una part en el almacenamiento.
Incluso en un ejemplo sencillo, insertemos más de una fila a la vez:
INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0 ),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421 ),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718 ),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159 )Verifiquemos que ha funcionado:
SELECT * FROM helloworld.my_first_tableAñadir datos con ClickHouse Client
También puede conectarse a su servicio de ClickHouse Cloud mediante una herramienta de línea de comandos llamada clickhouse client. Haga clic en Connect en el menú de la izquierda para acceder a estos detalles. En el cuadro de diálogo, seleccione Native en la lista desplegable:

-
Instale ClickHouse.
-
Ejecute el comando y sustituya el nombre de host, el nombre de usuario y la contraseña por los suyos:
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password>Si aparece el prompt con la carita sonriente, ¡ya puedes ejecutar queries!
:)- Pruébelo ejecutando la siguiente consulta:
SELECT *
FROM helloworld.my_first_table
ORDER BY timestampObserve que la respuesta se muestra en un formato de tabla claro:
┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
│ 102 │ Insert a lot of rows per batch │ 2022-03-21 00:00:00 │ 1.41421 │
│ 102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │ 2.718 │
│ 101 │ Hello, ClickHouse! │ 2022-03-22 14:04:09 │ -1 │
│ 101 │ Granules are the smallest chunks of data read │ 2022-03-22 14:04:14 │ 3.14159 │
└─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘
4 rows in set. Elapsed: 0.008 sec.- Añada una cláusula
FORMATpara especificar uno de los muchos formatos de salida compatibles con ClickHouse:
SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp
FORMAT TabSeparatedEn la consulta anterior, el resultado se devuelve separado por tabulaciones:
Query id: 3604df1c-acfd-4117-9c56-f86c69721121
102 Insert a lot of rows per batch 2022-03-21 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2022-03-22 00:00:00 2.718
101 Hello, ClickHouse! 2022-03-22 14:04:09 -1
101 Granules are the smallest chunks of data read 2022-03-22 14:04:14 3.14159
4 rows in set. Elapsed: 0.005 sec.- Para salir del
clickhouse client, escriba el comando exit:
exitSubir un archivo
Una tarea habitual al empezar a usar una base de datos es insertar datos que ya se tienen en archivos. Tenemos disponibles en línea datos de ejemplo que puede insertar y que representan datos de flujo de clics: incluyen un ID de usuario, una URL visitada y la marca de tiempo del evento.
Supongamos que tenemos el siguiente texto en un archivo CSV llamado data.csv:
102,This is data in a file,2022-02-22 10:43:28,123.45
101,It is comma-separated,2022-02-23 00:00:00,456.78
103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90- El siguiente comando inserta los datos en
my_first_table:
./clickhouse client --host HOSTNAME.REGION.CSP.clickhouse.cloud \
--secure --port 9440 \
--user default \
--password <password> \
--query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csv- Observe que las nuevas filas ya aparecen en la tabla al realizar consultas desde la consola SQL:

¿Qué sigue?
- El Tutorial le permite insertar 2 millones de filas en una tabla y escribir algunas consultas analíticas
- Tenemos una lista de datasets de ejemplo con instrucciones sobre cómo insertarlos
- Consulte nuestro vídeo de 12 minutos sobre Getting Started with ClickHouse
- Si sus datos proceden de una fuente externa, consulte nuestra colección de guías de integración para conectarse a colas de mensajes, bases de datos, canalizaciones y más
- Si utiliza una herramienta de visualización de UI/BI, consulte las guías de usuario para conectar una UI a ClickHouse
- La guía de usuario sobre primary keys contiene todo lo que necesita saber sobre las primary keys y cómo definirlas
Puedes seguir este path por tu cuenta, automatizarlo con un script o asignárselo a un AI Agent. Cambia a la vista de Cloud UI para la versión de consola.
En esta página se explica cómo aprovisionar un servicio de ClickHouse Cloud, conectarse a él y cargar datos desde la línea de comandos con ClickHouse CLI (clickhousectl). Los comandos no son interactivos; clickhousectl genera JSON con --json.
Requisitos previos
Instala la CLI de ClickHouse:
curl https://clickhouse.com/cli | shTambién necesita jq.
Necesita una cuenta de ClickHouse Cloud. Si aún no tiene una, clickhousectl cloud auth signup abrirá la página de registro en el navegador.
Las operaciones de escritura (crear, eliminar) requieren autenticación con una API key; el inicio de sesión con OAuth es de solo lectura:
clickhousectl cloud auth login --api-key <YOUR_KEY> --api-secret <YOUR_SECRET>Como alternativa, configure las variables de entorno CLICKHOUSE_CLOUD_API_KEY y CLICKHOUSE_CLOUD_API_SECRET. Compruébelo con clickhousectl cloud auth status; debería aparecer una entrada con scope read/write.
Cree un servicio de ClickHouse
Cree el servicio y guarde la respuesta; la contraseña del usuario default se muestra solo una vez:
clickhousectl cloud service create \
--name quickstart-ch \
--region us-east-1 \
--json > ch.jsonLa respuesta incluye el ID del servicio, los endpoints y la contraseña generada (truncada aquí; la respuesta completa también incluye la configuración de escalado, la lista de acceso de IP y las etiquetas):
{
"password": "dK7mPq2x_-TzrL9vNw0s",
"service": {
"id": "4f7b92f3-4163-403a-b538-b9bc6e2e8f66",
"name": "quickstart-ch",
"provider": "aws",
"region": "us-east-1",
"state": "provisioning",
"endpoints": [
{
"host": "quickstart-abc123.us-east-1.aws.clickhouse.cloud",
"port": 9440,
"protocol": "nativesecure"
},
{
"host": "quickstart-abc123.us-east-1.aws.clickhouse.cloud",
"port": 8443,
"protocol": "https"
}
],
"numReplicas": 3,
"minReplicaMemoryGb": 16.0,
"maxReplicaMemoryGb": 120.0
}
}Extraiga lo que necesitará para el resto de esta guía:
CH_ID=$(jq -r .service.id ch.json)
CH_PASSWORD=$(jq -r .password ch.json)
CH_HOST=$(jq -r '.service.endpoints[] | select(.protocol=="nativesecure") | .host' ch.json)Si se pierde la contraseña, genere una nueva con clickhousectl cloud service reset-password "$CH_ID".
De forma predeterminada, los servicios creados con clickhousectl incluyen una lista de acceso por IP que permite todas las direcciones (0.0.0.0/0). Para restringir el acceso, especifique --ip-allow al crear el servicio; consulte "Configuración de filtros de IP".
Espere a que se aprovisione el servicio
El aprovisionamiento tarda aproximadamente un minuto. Consulte el estado periódicamente hasta que sea running:
while [ "$(clickhousectl cloud service get "$CH_ID" --json | jq -r .state)" != "running" ]; do
sleep 15
doneEjecute SQL con la Query API
clickhousectl cloud service query ejecuta SQL mediante HTTP; no requiere un binario local de clickhouse ni la contraseña del servicio. La primera llamada aprovisiona automáticamente un endpoint de Query API y una API key con alcance específico para el servicio:
clickhousectl cloud service query --id "$CH_ID" --query "SHOW databases"Provisioning Query API endpoint + key for service 'quickstart-ch'...
{"name":"INFORMATION_SCHEMA"}
{"name":"default"}
{"name":"information_schema"}
{"name":"system"}La salida redirigida usa JSONEachRow de forma predeterminada; use --format PrettyCompact para obtener una salida en formato de tabla.
Cree una base de datos y una tabla
clickhousectl cloud service query --id "$CH_ID" \
--query "CREATE DATABASE IF NOT EXISTS helloworld"
clickhousectl cloud service query --id "$CH_ID" \
--query "CREATE TABLE helloworld.my_first_table (
user_id UInt32,
message String,
timestamp DateTime,
metric Float32
) ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)"Ambos comandos muestran OK. Inserte algunas filas:
clickhousectl cloud service query --id "$CH_ID" \
--query "INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159)"Verifica que haya funcionado:
clickhousectl cloud service query --id "$CH_ID" \
--query "SELECT * FROM helloworld.my_first_table ORDER BY timestamp"{"user_id":102,"message":"Insert a lot of rows per batch","timestamp":"2026-08-26 00:00:00","metric":1.41421}
{"user_id":102,"message":"Sort your data based on your commonly-used queries","timestamp":"2026-08-27 00:00:00","metric":2.718}
{"user_id":101,"message":"Hello, ClickHouse!","timestamp":"2026-08-27 10:41:28","metric":-1}
{"user_id":101,"message":"Granules are the smallest chunks of data read","timestamp":"2026-08-27 10:41:33","metric":3.14159}Los timestamps dependen de cuándo ejecutaste el insert, por lo que los tuyos serán distintos.
Cargar un archivo CSV
Supongamos que el siguiente texto está en un archivo CSV llamado data.csv:
102,This is data in a file,2022-02-22 10:43:28,123.45
101,It is comma-separated,2022-02-23 00:00:00,456.78
103,Use FORMAT to specify the format,2022-02-21 10:43:30,678.90INSERT ... FORMAT lee los datos de stdin, por lo que debes canalizar la consulta y el archivo juntos:
printf 'INSERT INTO helloworld.my_first_table FORMAT CSV\n' | cat - data.csv \
| clickhousectl cloud service query --id "$CH_ID"Verifique que se hayan cargado las nuevas filas:
clickhousectl cloud service query --id "$CH_ID" \
--query "SELECT count() FROM helloworld.my_first_table"{"count()":7}Conectarse con clickhouse client
También puede conectarse mediante el protocolo nativo con clickhouse client. La ClickHouse CLI gestiona el binario clickhouse, por lo que no necesita instalar un cliente por separado:
clickhousectl local use latestEsto instala la versión más reciente del binario clickhouse y crea un enlace simbólico a ~/.local/bin/clickhouse, de modo que el comando clickhouse esté disponible globalmente en tu PATH.
A continuación, conéctate usando el hostname y la contraseña de la respuesta de creación. Con --query, se muestra el resultado y el client se cierra; sin esta opción, accedes al prompt interactivo (:)), del que puedes salir con exit:
clickhouse client --host "$CH_HOST" --secure --port 9440 \
--user default --password "$CH_PASSWORD" \
--query "SELECT * FROM helloworld.my_first_table ORDER BY timestamp FORMAT TabSeparated"102 Insert a lot of rows per batch 2026-08-26 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2026-08-27 10:41:28 2.718
101 Hello, ClickHouse! 2026-08-27 10:41:28 -1
101 Granules are the smallest chunks of data read 2026-08-27 10:41:33 3.14159
103 Use FORMAT to specify the format 2022-02-21 10:43:30 678.9
102 This is data in a file 2022-02-22 10:43:28 123.45
101 It is comma-separated 2022-02-23 00:00:00 456.78El mismo formato de comando permite cargar archivos:
clickhouse client --host "$CH_HOST" --secure --port 9440 \
--user default --password "$CH_PASSWORD" \
--query='INSERT INTO helloworld.my_first_table FORMAT CSV' < data.csvLimpieza
Al eliminar un servicio, se eliminan permanentemente todos sus datos. --force detiene primero un servicio en ejecución:
clickhousectl cloud service delete "$CH_ID" --forcePara conservar los datos sin seguir pagando por capacidad de procesamiento, detenga el servicio con clickhousectl cloud service stop "$CH_ID".