ClickHouse/docs/es/sql-reference/table-functions/file.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

3.9 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 37 file

file

Crea una tabla a partir de un archivo. Esta función de tabla es similar a URL y Hdfs aquel.

file(path, format, structure)

Parámetros de entrada

  • path — The relative path to the file from user_files_path. Soporte de ruta a archivo siguiendo globs en modo de solo lectura: *, ?, {abc,def} y {N..M} donde N, M — numbers, `'abc', 'def' — strings.
  • format — The formato del archivo.
  • structure — Structure of the table. Format 'column1_name column1_type, column2_name column2_type, ...'.

Valor devuelto

Una tabla con la estructura especificada para leer o escribir datos en el archivo especificado.

Ejemplo

Configuración user_files_path y el contenido del archivo test.csv:

$ grep user_files_path /etc/clickhouse-server/config.xml
    <user_files_path>/var/lib/clickhouse/user_files/</user_files_path>

$ cat /var/lib/clickhouse/user_files/test.csv
    1,2,3
    3,2,1
    78,43,45

Tabla detest.csv y selección de las dos primeras filas de ella:

SELECT *
FROM file('test.csv', 'CSV', 'column1 UInt32, column2 UInt32, column3 UInt32')
LIMIT 2
┌─column1─┬─column2─┬─column3─┐
│       1 │       2 │       3 │
│       3 │       2 │       1 │
└─────────┴─────────┴─────────┘
-- getting the first 10 lines of a table that contains 3 columns of UInt32 type from a CSV file
SELECT * FROM file('test.csv', 'CSV', 'column1 UInt32, column2 UInt32, column3 UInt32') LIMIT 10

Globs en el camino

Múltiples componentes de ruta de acceso pueden tener globs. Para ser procesado, el archivo debe existir y coincidir con todo el patrón de ruta (no solo el sufijo o el prefijo).

  • * — Substitutes any number of any characters except / incluyendo cadena vacía.
  • ? — Substitutes any single character.
  • {some_string,another_string,yet_another_one} — Substitutes any of strings 'some_string', 'another_string', 'yet_another_one'.
  • {N..M} — Substitutes any number in range from N to M including both borders.

Construcciones con {} son similares a la función de tabla remota).

Ejemplo

  1. Supongamos que tenemos varios archivos con las siguientes rutas relativas:
  • some_dir/some_file_1
  • some_dir/some_file_2
  • some_dir/some_file_3
  • another_dir/some_file_1
  • another_dir/some_file_2
  • another_dir/some_file_3
  1. Consulta la cantidad de filas en estos archivos:
SELECT count(*)
FROM file('{some,another}_dir/some_file_{1..3}', 'TSV', 'name String, value UInt32')
  1. Consulta la cantidad de filas en todos los archivos de estos dos directorios:
SELECT count(*)
FROM file('{some,another}_dir/*', 'TSV', 'name String, value UInt32')

!!! warning "Advertencia" Si su lista de archivos contiene rangos de números con ceros a la izquierda, use la construcción con llaves para cada dígito por separado o use ?.

Ejemplo

Consultar los datos desde archivos nombrados file000, file001, … , file999:

SELECT count(*)
FROM file('big_dir/file{0..9}{0..9}{0..9}', 'CSV', 'name String, value UInt32')

Virtual Columnas

  • _path — Path to the file.
  • _file — Name of the file.

Ver también

Artículo Original