Skip to main content
All quickstarts
Analítica en tiempo realAlmacenamiento de datosCloudOSS

Descripción general

Aprenda a ingestar y consultar datos en ClickHouse con el conjunto de datos de ejemplo de taxis de la ciudad de Nueva York.

Requisitos previos

Para completar este tutorial, necesita acceso a un servicio de ClickHouse en ejecución. Consulte la guía de Quick Start para obtener instrucciones.
1

Crear una nueva tabla

El conjunto de datos de taxis de la ciudad de Nueva York contiene información sobre millones de trayectos en taxi, incluidas columnas como el importe de la propina, los peajes, el tipo de pago y otras. Cree una tabla para almacenar estos datos.
  1. Conéctese a la consola SQL:
    • En ClickHouse Cloud, seleccione un servicio en el menú desplegable y, a continuación, SQL Console en la barra de navegación izquierda.
    • En ClickHouse autogestionado, conéctese a la consola SQL en https://_hostname_:8443/play. Consulte los detalles con su administrador de ClickHouse.
  2. Cree la siguiente tabla trips en la base de datos default:
2

Añade el conjunto de datos

Ahora que ha creado una tabla, añada los datos de taxis de la ciudad de Nueva York desde archivos CSV en S3.
  1. El siguiente comando inserta aproximadamente 2.000.000 de filas en su tabla trips a partir de dos archivos diferentes en S3: trips_1.tsv.gz y trips_2.tsv.gz:
  2. Espere a que finalice el INSERT. La descarga de los 150 MB de datos puede tardar unos instantes.
  3. Cuando finalice la inserción, compruebe que se haya realizado correctamente:
    Esta consulta debería devolver 1.999.657 filas.
3

Analice los datos

Ejecute algunas consultas para analizar los datos. Explore los siguientes ejemplos o pruebe con su propia consulta SQL.
  • Calcule el importe medio de las propinas:

  • Calcule el coste medio en función del número de pasajeros:

    El valor de passenger_count va de 0 a 9:

  • Calcule el número diario de recogidas por barrio:

  • Calcula la duración de cada viaje en minutos y agrupa los resultados por duración:

  • Muestra el número de recogidas en cada barrio, desglosado por hora del día:

  1. Obtenga viajes a los aeropuertos LaGuardia o JFK:

4

Crear un diccionario

Un diccionario es una correspondencia de pares clave-valor almacenada en memoria. Para más detalles, consulte DiccionariosCree un diccionario asociado a una tabla en su servicio de ClickHouse. La tabla y el diccionario se basan en un archivo CSV que contiene una fila por cada barrio de la ciudad de Nueva York.Los neighborhoods se corresponden con los nombres de los cinco boroughs de la ciudad de Nueva York (Bronx, Brooklyn, Manhattan, Queens y Staten Island), además del aeropuerto de Newark (EWR).A continuación se muestra, en formato de tabla, un extracto del archivo CSV que está utilizando. La columna LocationID del archivo se corresponde con las columnas pickup_nyct2010_gid y dropoff_nyct2010_gid de su tabla trips:
  1. Ejecute el siguiente comando SQL, que crea un diccionario denominado taxi_zone_dictionary y lo puebla a partir del archivo CSV almacenado en S3. La URL del archivo es https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/taxi_zone_lookup.csv.
Establecer LIFETIME en 0 desactiva las actualizaciones automáticas para evitar tráfico innecesario hacia nuestro bucket de S3. En otros casos, puede configurarlo de otra forma. Para obtener más información, consulte Actualización de datos de diccionario mediante LIFETIME.
  1. Verifica que haya funcionado. Lo siguiente debería devolver 265 filas, una por cada barrio:
  2. Usa la función dictGet (o sus variantes) para obtener un valor de un diccionario. Debes proporcionar el nombre del diccionario, el valor que quieres obtener y la clave (que, en nuestro ejemplo, es la columna LocationID de taxi_zone_dictionary). Por ejemplo, la siguiente consulta devuelve el Borough correspondiente al LocationID 132, que corresponde al aeropuerto JFK):
    JFK está en Queens. Observe que el tiempo de recuperación del valor es prácticamente 0:
  3. Use la función dictHas para comprobar si una clave está presente en el diccionario. Por ejemplo, la siguiente consulta devuelve 1 (que equivale a “verdadero” en ClickHouse):
  4. La siguiente consulta devuelve 0 porque 4567 no es un valor de LocationID en el diccionario:
  5. Utiliza la función dictGet para obtener el nombre de un distrito en una consulta. Por ejemplo:
    Esta consulta calcula el número de trayectos en taxi por distrito que terminan en el aeropuerto de LaGuardia o en el JFK. El resultado es el siguiente; observe que hay bastantes viajes cuyo barrio de recogida se desconoce:
5

Realizar un join

Escriba algunas consultas que unan taxi_zone_dictionary con su tabla trips.
  1. Comience con un JOIN sencillo que funcione de forma similar a la consulta anterior sobre aeropuertos:
    La respuesta es idéntica a la de la consulta dictGet:
Tenga en cuenta que la salida de la consulta JOIN anterior es la misma que la de la consulta precedente, que utilizaba dictGetOrDefault (salvo que no incluye los valores Unknown). Internamente, ClickHouse llama a la función dictGet para el diccionario taxi_zone_dictionary, pero la sintaxis JOIN resulta más familiar para los desarrolladores de SQL.
  1. Esta consulta devuelve las filas de los 1000 viajes con el importe de propina más alto y, a continuación, realiza una unión interna de cada fila con el diccionario:
En general, evitamos usar SELECT * con frecuencia en ClickHouse. Recupere solo las columnas que realmente necesite.

Próximos pasos

Obtenga más información sobre ClickHouse en la siguiente documentación:
Last modified on August 14, 2026