Cuándo usar clickhouse-local vs. ClickHouse
clickhouse-local es una versión de ClickHouse fácil de usar, ideal para desarrolladores que necesitan procesar rápidamente archivos locales y remotos con SQL sin tener que instalar un servidor de base de datos completo. Con clickhouse-local, los desarrolladores pueden usar comandos SQL (con el dialecto SQL de ClickHouse) directamente desde la línea de comandos, lo que ofrece una forma sencilla y eficiente de acceder a las capacidades de ClickHouse sin necesidad de una instalación completa. Uno de los principales beneficios de clickhouse-local es que ya se incluye al instalar clickhouse-client. Esto significa que los desarrolladores pueden empezar a usar clickhouse-local rápidamente, sin necesidad de un proceso de instalación complejo.
Aunque clickhouse-local es una excelente herramienta para desarrollo, pruebas y procesamiento de archivos, no es adecuado para dar servicio a usuarios finales ni a aplicaciones. En estos casos, se recomienda usar la versión open-source de ClickHouse. ClickHouse es una potente base de datos OLAP diseñada para gestionar cargas de trabajo analíticas a gran escala. Proporciona un procesamiento rápido y eficiente de consultas complejas sobre grandes conjuntos de datos, lo que la hace ideal para entornos de producción en los que el alto rendimiento es fundamental. Además, ClickHouse ofrece una amplia gama de capacidades, como replicación, sharding y alta disponibilidad, que son esenciales para escalar, manejar grandes conjuntos de datos y dar servicio a aplicaciones. Si necesita manejar conjuntos de datos más grandes o dar servicio a usuarios finales o aplicaciones, le recomendamos usar la versión open-source de ClickHouse en lugar de clickhouse-local.
Consulte la documentación a continuación, donde se muestran casos de uso de clickhouse-local, como consultar un archivo local o leer un archivo Parquet en S3.
Descargar clickhouse-local
clickhouse-local se ejecuta con el mismo binario clickhouse que utiliza el servidor ClickHouse y clickhouse-client. La forma más sencilla de descargar la versión más reciente es con el siguiente comando:
El binario que acabas de descargar puede ejecutar todo tipo de herramientas y utilidades de ClickHouse. Si quieres ejecutar ClickHouse como servidor de bases de datos, consulta la Inicio rápido.
Consultar datos de un archivo con SQL
clickhouse-local es ejecutar consultas ad hoc sobre archivos, sin tener que insertar los datos en una tabla. clickhouse-local puede leer los datos de un archivo en una tabla temporal y ejecutar tu SQL.
Si el archivo está en la misma máquina que clickhouse-local, puedes simplemente especificar el archivo que quieres cargar. El siguiente archivo reviews.tsv contiene una muestra de reseñas de productos de Amazon:
file crea una tabla y puedes usar DESCRIBE para ver el esquema inferido:
Consultar datos en un archivo Parquet en AWS S3
clickhouse-local y la función de tabla s3 para consultar el archivo directamente (sin insertar los datos en una tabla de ClickHouse). Tenemos un archivo llamado house_0.parquet en un bucket público que contiene los precios de las viviendas vendidas en el Reino Unido. Veamos cuántas filas tiene:
Conversión entre formatos
clickhouse-local para convertir datos entre distintos formatos. Ejemplo:
--copy:
Uso
clickhouse-local tiene acceso a los datos de un servidor de ClickHouse en el mismo host y no depende de la configuración del servidor. También permite cargar la configuración del servidor mediante el argumento --config-file. Para los datos temporales, se crea por defecto un directorio temporal de datos único.
Uso básico (Linux):
clickhouse-local también es compatible con Windows a través de WSL2.-S,--structure— estructura de la tabla para los datos de entrada.--input-format— formato de entrada;TSVde forma predeterminada.-F,--file— ruta de los datos;stdinde forma predeterminada.-q,--query— consultas que se ejecutarán usando;como delimitador.--querypuede especificarse varias veces; p. ej.,--query "SELECT 1" --query "SELECT 2". No puede usarse simultáneamente con--queries-file.--queries-file- ruta del archivo con las consultas que se ejecutarán.--queries-filepuede especificarse varias veces; p. ej.,--query queries1.sql --query queries2.sql. No puede usarse simultáneamente con--query.--multiquery, -n– Si se especifica, se pueden indicar varias consultas separadas por punto y coma después de la opción--query. Para mayor comodidad, también es posible omitir--queryy pasar las consultas directamente después de--multiquery.-N,--table— nombre de la tabla en la que se colocarán los datos de salida;tablede forma predeterminada.-f,--format,--output-format— formato de salida;TSVde forma predeterminada.-d,--database— base de datos predeterminada;_localde forma predeterminada.--stacktrace— indica si se debe volcar la salida de depuración en caso de excepción.--echo— imprime la consulta antes de ejecutarla.--verbose— muestra más detalles sobre la ejecución de la consulta.--logger.console— registrar en la consola.--logger.log— nombre del archivo de registro.--logger.level— nivel de registro.--ignore-error— no detener el procesamiento si falla una consulta.-c,--config-file— ruta al archivo de configuración en el mismo formato que el del servidor ClickHouse; de forma predeterminada, la configuración está vacía.--no-system-tables— no adjuntar las tablas del sistema.--help— referencia de argumentos paraclickhouse-local.-V,--version— imprime la información de la versión y sale.
--config-file.
Comandos
Comando LS
Query
Response
Response
Comando CLEAR
clear en Linux o a Ctrl+L en muchos terminales). Es una acción del cliente: no se envía al motor SQL.
En clickhouse-local, el metacomando se reconoce en modo interactivo y con entrada mediante -q y --queries-file (por la misma vía del cliente que -q, en la misma línea que ls), por lo que un clear sin más no produce un error UNKNOWN_IDENTIFIER. En clickhouse-client --queries-file remoto no hay cambios: el contenido del archivo se ejecuta únicamente como SQL (sin metacomandos a nivel de texto).
En clickhouse-client, solo se reconoce en modo interactivo. Con -q o archivos de consultas, clear sigue interpretándose como SQL, de modo que la automatización conserva el comportamiento de error anterior en lugar de convertir errores tipográficos en un no-op silencioso.
Formas admitidas: clear, CLEAR, /clear (se ignora un ; final opcional). Si la salida estándar no es un terminal (por ejemplo, al redirigir la salida por una tubería), el metacomando se acepta cuando se reconoce, pero no emite secuencias de control.
Con clickhouse-local y -q:
Ejemplos
Query
Query
stdin ni el argumento --file, y puedes abrir cualquier cantidad de archivos con la función de tabla file:
Query
Query
Response
- Extracción, conversión y consulta de datos en archivos locales con clickhouse-local
- Introducir datos en ClickHouse - Parte 1
- Explorar conjuntos de datos masivos del mundo real: más de 100 años de registros meteorológicos en ClickHouse
- Blog: Extracción, conversión y consulta de datos en archivos locales con clickhouse-local