mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 08:32:02 +00:00
fix translations for other table functions
This commit is contained in:
parent
dc96085407
commit
c6083cd50c
@ -81,7 +81,7 @@ SELECT * FROM file('test.csv', 'CSV', 'column1 UInt32, column2 UInt32, column3 U
|
||||
- `{some_string,another_string,yet_another_one}` — 替换任何字符串 `'some_string', 'another_string', 'yet_another_one'`。
|
||||
- `{N..M}` — 替换范围从N到M的任何数字(包括两个边界)。
|
||||
|
||||
使用 `{}` 的构造类类似于 [remote](../../sql-reference/table-functions/remote.md))表函数。
|
||||
使用 `{}` 的构造类似于 [remote](../../sql-reference/table-functions/remote.md))表函数。
|
||||
|
||||
**示例**
|
||||
|
||||
@ -109,7 +109,7 @@ FROM file('{some,another}_dir/*', 'TSV', 'name String, value UInt32')
|
||||
```
|
||||
|
||||
!!! warning "警告"
|
||||
如果您的文件列表包含带前导零的数字范围,请对每个数字分别使用带有大括号的结构或使用 `?`.
|
||||
如果您的文件列表包含带前导零的数字范围,请对每个数字分别使用带有大括号的结构或使用 `?`。
|
||||
|
||||
**示例**
|
||||
|
||||
|
@ -1,13 +1,11 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 45
|
||||
toc_title: hdfs
|
||||
---
|
||||
|
||||
# hdfs {#hdfs}
|
||||
|
||||
从HDFS中的文件创建表。 此表函数类似于 [url](url.md) 和 [文件](file.md) 一些的。
|
||||
根据HDFS中的文件创建表。 该表函数类似于 [url](url.md) 和 [文件](file.md)。
|
||||
|
||||
``` sql
|
||||
hdfs(URI, format, structure)
|
||||
@ -15,9 +13,9 @@ hdfs(URI, format, structure)
|
||||
|
||||
**输入参数**
|
||||
|
||||
- `URI` — The relative URI to the file in HDFS. Path to file support following globs in readonly mode: `*`, `?`, `{abc,def}` 和 `{N..M}` 哪里 `N`, `M` — numbers, \``'abc', 'def'` — strings.
|
||||
- `format` — The [格式](../../interfaces/formats.md#formats) 的文件。
|
||||
- `structure` — Structure of the table. Format `'column1_name column1_type, column2_name column2_type, ...'`.
|
||||
- `URI` — HDFS中文件的相对URI。 在只读模式下,文件路径支持以下通配符: `*`, `?`, `{abc,def}` 和 `{N..M}` ,其中 `N`, `M` 是数字, \``'abc', 'def'` 是字符串。
|
||||
- `format` — 文件的[格式](../../interfaces/formats.md#formats)。
|
||||
- `structure` — 表的结构。格式 `'column1_name column1_type, column2_name column2_type, ...'`。
|
||||
|
||||
**返回值**
|
||||
|
||||
@ -25,7 +23,7 @@ hdfs(URI, format, structure)
|
||||
|
||||
**示例**
|
||||
|
||||
表从 `hdfs://hdfs1:9000/test` 并从中选择前两行:
|
||||
表来自 `hdfs://hdfs1:9000/test` 并从中选择前两行:
|
||||
|
||||
``` sql
|
||||
SELECT *
|
||||
@ -40,20 +38,20 @@ LIMIT 2
|
||||
└─────────┴─────────┴─────────┘
|
||||
```
|
||||
|
||||
**路径中的水珠**
|
||||
**路径中的通配符**
|
||||
|
||||
多个路径组件可以具有globs。 对于正在处理的文件应该存在并匹配到整个路径模式(不仅后缀或前缀)。
|
||||
多个路径组件可以具有通配符。 对于要处理的文件必须存在并与整个路径模式匹配(不仅后缀或前缀)。
|
||||
|
||||
- `*` — Substitutes any number of any characters except `/` 包括空字符串。
|
||||
- `?` — 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.
|
||||
- `*` — 替换任意数量的任何字符,除了 `/` 包括空字符串。
|
||||
- `?` — 替换任何单个字符。
|
||||
- `{some_string,another_string,yet_another_one}` — 替换任何字符串 `'some_string', 'another_string', 'yet_another_one'`。
|
||||
- `{N..M}` — 替换范围从N到M的任何数字(包括两个边界)。
|
||||
|
||||
建筑与 `{}` 类似于 [远程表功能](../../sql-reference/table-functions/remote.md)).
|
||||
使用 `{}` 的构造类似于 [remote](../../sql-reference/table-functions/remote.md))表函数。
|
||||
|
||||
**示例**
|
||||
|
||||
1. 假设我们在HDFS上有几个具有以下Uri的文件:
|
||||
1. 假设我们在HDFS上有几个带有以下URI的文件:
|
||||
|
||||
- ‘hdfs://hdfs1:9000/some_dir/some_file_1’
|
||||
- ‘hdfs://hdfs1:9000/some_dir/some_file_2’
|
||||
@ -62,7 +60,7 @@ LIMIT 2
|
||||
- ‘hdfs://hdfs1:9000/another_dir/some_file_2’
|
||||
- ‘hdfs://hdfs1:9000/another_dir/some_file_3’
|
||||
|
||||
1. 查询这些文件中的行数:
|
||||
2. 查询这些文件中的行数:
|
||||
|
||||
<!-- -->
|
||||
|
||||
@ -71,7 +69,7 @@ SELECT count(*)
|
||||
FROM hdfs('hdfs://hdfs1:9000/{some,another}_dir/some_file_{1..3}', 'TSV', 'name String, value UInt32')
|
||||
```
|
||||
|
||||
1. 查询这两个目录的所有文件中的行数:
|
||||
3. 查询这两个目录的所有文件中的行数:
|
||||
|
||||
<!-- -->
|
||||
|
||||
@ -81,11 +79,11 @@ FROM hdfs('hdfs://hdfs1:9000/{some,another}_dir/*', 'TSV', 'name String, value U
|
||||
```
|
||||
|
||||
!!! warning "警告"
|
||||
如果您的文件列表包含带前导零的数字范围,请单独使用带大括号的构造或使用 `?`.
|
||||
如果您的文件列表包含带前导零的数字范围,请对每个数字分别使用带有大括号的结构或使用 `?`。
|
||||
|
||||
**示例**
|
||||
|
||||
从名为 `file000`, `file001`, … , `file999`:
|
||||
从名为 `file000`, `file001`, … , `file999`的文件中查询数据:
|
||||
|
||||
``` sql
|
||||
SELECT count(*)
|
||||
@ -94,8 +92,8 @@ FROM hdfs('hdfs://hdfs1:9000/big_dir/file{0..9}{0..9}{0..9}', 'CSV', 'name Strin
|
||||
|
||||
## 虚拟列 {#virtual-columns}
|
||||
|
||||
- `_path` — Path to the file.
|
||||
- `_file` — Name of the file.
|
||||
- `_path` — 文件路径。
|
||||
- `_file` — 文件名称。
|
||||
|
||||
**另请参阅**
|
||||
|
||||
|
@ -1,38 +1,37 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_folder_title: "\u8868\u51FD\u6570"
|
||||
toc_priority: 34
|
||||
toc_title: "\u5BFC\u8A00"
|
||||
---
|
||||
|
||||
# 表函数 {#table-functions}
|
||||
|
||||
表函数是构造表的方法。
|
||||
表函数是用来构造表的方法。
|
||||
|
||||
您可以使用表函数:
|
||||
您可以在以下位置使用表函数:
|
||||
|
||||
- [FROM](../statements/select/from.md) 《公约》条款 `SELECT` 查询。
|
||||
- `SELECT` 查询的[FROM](../../sql-reference/statements/select/from.md)子句。
|
||||
|
||||
The method for creating a temporary table that is available only in the current query. The table is deleted when the query finishes.
|
||||
创建临时表的方法,该临时表仅在当前查询中可用。当查询完成后,该临时表将被删除。
|
||||
|
||||
- [创建表为\<table_function()\>](../statements/create.md#create-table-query) 查询。
|
||||
- [CREATE TABLE AS \<table_function()\>](../../sql-reference/statements/create/table.md) 查询。
|
||||
|
||||
It's one of the methods of creating a table.
|
||||
这是创建表的方法之一。
|
||||
|
||||
!!! warning "警告"
|
||||
你不能使用表函数,如果 [allow_ddl](../../operations/settings/permissions-for-queries.md#settings_allow_ddl) 设置被禁用。
|
||||
如果 [allow_ddl](../../operations/settings/permissions-for-queries.md#settings_allow_ddl) 设置被禁用,则不能使用表函数。
|
||||
|
||||
| 功能 | 产品描述 |
|
||||
|--------------------|--------------------------------------------------------------------------------------------------------|
|
||||
| [文件](file.md) | 创建一个 [文件](../../engines/table-engines/special/file.md)-发动机表。 |
|
||||
| [合并](merge.md) | 创建一个 [合并](../../engines/table-engines/special/merge.md)-发动机表。 |
|
||||
| [数字](numbers.md) | 创建一个包含整数填充的单列的表。 |
|
||||
| [远程](remote.md) | 允许您访问远程服务器,而无需创建 [分布](../../engines/table-engines/special/distributed.md)-发动机表。 |
|
||||
| [url](url.md) | 创建一个 [Url](../../engines/table-engines/special/url.md)-发动机表。 |
|
||||
| [mysql](mysql.md) | 创建一个 [MySQL](../../engines/table-engines/integrations/mysql.md)-发动机表。 |
|
||||
| [jdbc](jdbc.md) | 创建一个 [JDBC](../../engines/table-engines/integrations/jdbc.md)-发动机表。 |
|
||||
| [odbc](odbc.md) | 创建一个 [ODBC](../../engines/table-engines/integrations/odbc.md)-发动机表。 |
|
||||
| [hdfs](hdfs.md) | 创建一个 [HDFS](../../engines/table-engines/integrations/hdfs.md)-发动机表。 |
|
||||
| 函数 | 描述 |
|
||||
|-----------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [file](../../sql-reference/table-functions/file.md) | 创建一个file引擎表。 |
|
||||
| [merge](../../sql-reference/table-functions/merge.md) | 创建一个merge引擎表。 |
|
||||
| [numbers](../../sql-reference/table-functions/numbers.md) | 创建一个单列的表,其中包含整数。 |
|
||||
| [remote](../../sql-reference/table-functions/remote.md) | 允许您访问远程服务器,而无需创建分布式表。 |
|
||||
| [url](../../sql-reference/table-functions/url.md) | 创建一个URL引擎表。 |
|
||||
| [mysql](../../sql-reference/table-functions/mysql.md) | 创建一个MySQL引擎表。 |
|
||||
| [postgresql](../../sql-reference/table-functions/postgresql.md) | 创建一个PostgreSQL引擎表。 |
|
||||
| [jdbc](../../sql-reference/table-functions/jdbc.md) | 创建一个JDBC引擎表。 |
|
||||
| [odbc](../../sql-reference/table-functions/odbc.md) | 创建一个ODBC引擎表。 |
|
||||
| [hdfs](../../sql-reference/table-functions/hdfs.md) | 创建一个HDFS引擎表。 |
|
||||
| [s3](../../sql-reference/table-functions/s3.md) | 创建一个S3引擎表。 |
|
||||
|
||||
[原始文章](https://clickhouse.tech/docs/en/query_language/table_functions/) <!--hide-->
|
||||
|
@ -1,6 +1,4 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 43
|
||||
toc_title: jdbc
|
||||
---
|
||||
@ -9,10 +7,10 @@ toc_title: jdbc
|
||||
|
||||
`jdbc(jdbc_connection_uri, schema, table)` -返回通过JDBC驱动程序连接的表。
|
||||
|
||||
此表函数需要单独的 `clickhouse-jdbc-bridge` 程序正在运行。
|
||||
此表函数需要单独的 `clickhouse-jdbc-bridge` 程序才能运行。
|
||||
它支持可空类型(基于查询的远程表的DDL)。
|
||||
|
||||
**例**
|
||||
**示例**
|
||||
|
||||
``` sql
|
||||
SELECT * FROM jdbc('jdbc:mysql://localhost:3306/?user=root&password=root', 'schema', 'table')
|
||||
|
@ -1,14 +1,12 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 38
|
||||
toc_title: "\u5408\u5E76"
|
||||
toc_title: merge
|
||||
---
|
||||
|
||||
# 合并 {#merge}
|
||||
# merge {#merge}
|
||||
|
||||
`merge(db_name, 'tables_regexp')` – Creates a temporary Merge table. For more information, see the section “Table engines, Merge”.
|
||||
`merge(db_name, 'tables_regexp')` – 创建一个临时Merge表。 有关更多信息,请参见 “Table engines, Merge”。
|
||||
|
||||
表结构取自与正则表达式匹配的第一个表。
|
||||
表结构取自遇到的第一个与正则表达式匹配的表。
|
||||
|
||||
[原始文章](https://clickhouse.tech/docs/en/query_language/table_functions/merge/) <!--hide-->
|
||||
|
@ -1,18 +1,16 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 39
|
||||
toc_title: "\u6570\u5B57"
|
||||
toc_title: numbers
|
||||
---
|
||||
|
||||
# 数字 {#numbers}
|
||||
# numbers {#numbers}
|
||||
|
||||
`numbers(N)` – Returns a table with the single ‘number’ 包含从0到N-1的整数的列(UInt64)。
|
||||
`numbers(N, M)` -返回一个表与单 ‘number’ 包含从N到(N+M-1)的整数的列(UInt64)。
|
||||
`numbers(N)` – 返回一个包含单个 ‘number’ 列(UInt64)的表,其中包含从0到N-1的整数。
|
||||
`numbers(N, M)` - 返回一个包含单个 ‘number’ 列(UInt64)的表,其中包含从N到(N+M-1)的整数。
|
||||
|
||||
类似于 `system.numbers` 表,它可以用于测试和生成连续的值, `numbers(N, M)` 比 `system.numbers`.
|
||||
类似于 `system.numbers` 表,它可以用于测试和生成连续的值, `numbers(N, M)` 比 `system.numbers`更有效。
|
||||
|
||||
以下查询是等效的:
|
||||
以下查询是等价的:
|
||||
|
||||
``` sql
|
||||
SELECT * FROM numbers(10);
|
||||
@ -20,10 +18,10 @@ SELECT * FROM numbers(0, 10);
|
||||
SELECT * FROM system.numbers LIMIT 10;
|
||||
```
|
||||
|
||||
例:
|
||||
示例:
|
||||
|
||||
``` sql
|
||||
-- Generate a sequence of dates from 2010-01-01 to 2010-12-31
|
||||
-- 生成2010-01-01至2010-12-31的日期序列
|
||||
select toDate('2010-01-01') + number as d FROM numbers(365);
|
||||
```
|
||||
|
||||
|
@ -1,13 +1,11 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 44
|
||||
toc_title: odbc
|
||||
---
|
||||
|
||||
# odbc {#table-functions-odbc}
|
||||
|
||||
返回通过连接的表 [ODBC](https://en.wikipedia.org/wiki/Open_Database_Connectivity).
|
||||
返回通过 [ODBC](https://en.wikipedia.org/wiki/Open_Database_Connectivity) 连接的表。
|
||||
|
||||
``` sql
|
||||
odbc(connection_settings, external_database, external_table)
|
||||
@ -15,23 +13,23 @@ odbc(connection_settings, external_database, external_table)
|
||||
|
||||
参数:
|
||||
|
||||
- `connection_settings` — Name of the section with connection settings in the `odbc.ini` 文件
|
||||
- `external_database` — Name of a database in an external DBMS.
|
||||
- `external_table` — Name of a table in the `external_database`.
|
||||
- `connection_settings` — 在 `odbc.ini` 文件中连接设置的部分的名称。
|
||||
- `external_database` — 外部DBMS的数据库名。
|
||||
- `external_table` — `external_database` 数据库中的表名。
|
||||
|
||||
为了安全地实现ODBC连接,ClickHouse使用单独的程序 `clickhouse-odbc-bridge`. 如果直接从ODBC驱动程序加载 `clickhouse-server`,驱动程序问题可能会导致ClickHouse服务器崩溃。 ClickHouse自动启动 `clickhouse-odbc-bridge` 当它是必需的。 ODBC桥程序是从相同的软件包作为安装 `clickhouse-server`.
|
||||
为了安全地实现ODBC连接,ClickHouse使用单独的程序 `clickhouse-odbc-bridge`。 如果ODBC驱动程序直接从 `clickhouse-server` 加载,则驱动程序问题可能会导致ClickHouse服务器崩溃。 当需要时,ClickHouse自动启动 `clickhouse-odbc-bridge`。 ODBC桥程序是从与 `clickhouse-server` 相同的软件包安装的。
|
||||
|
||||
与字段 `NULL` 外部表中的值将转换为基数据类型的默认值。 例如,如果远程MySQL表字段具有 `INT NULL` 键入它将转换为0(ClickHouse的默认值 `Int32` 数据类型)。
|
||||
外部表中字段包含的 `NULL` 值将转换为基本据类型的默认值。 例如,如果远程MySQL表字段包含 `INT NULL` 类型,则将被转换为0(ClickHouse`Int32` 数据类型的默认值)。
|
||||
|
||||
## 用法示例 {#usage-example}
|
||||
|
||||
**通过ODBC从本地MySQL安装获取数据**
|
||||
**通过ODBC从本地安装的MySQL获取数据**
|
||||
|
||||
此示例检查Ubuntu Linux18.04和MySQL服务器5.7。
|
||||
这个例子检查Ubuntu Linux18.04和MySQL服务器5.7。
|
||||
|
||||
确保安装了unixODBC和MySQL连接器。
|
||||
确保已经安装了unixODBC和MySQL连接器。
|
||||
|
||||
默认情况下(如果从软件包安装),ClickHouse以用户身份启动 `clickhouse`. 因此,您需要在MySQL服务器中创建和配置此用户。
|
||||
默认情况下(如果从软件包安装),ClickHouse以用户 `clickhouse` 启动。 因此,您需要在MySQL服务器中创建和配置此用户。
|
||||
|
||||
``` bash
|
||||
$ sudo mysql
|
||||
@ -42,7 +40,7 @@ mysql> CREATE USER 'clickhouse'@'localhost' IDENTIFIED BY 'clickhouse';
|
||||
mysql> GRANT ALL PRIVILEGES ON *.* TO 'clickhouse'@'clickhouse' WITH GRANT OPTION;
|
||||
```
|
||||
|
||||
然后配置连接 `/etc/odbc.ini`.
|
||||
然后在 `/etc/odbc.ini` 中配置连接。
|
||||
|
||||
``` bash
|
||||
$ cat /etc/odbc.ini
|
||||
@ -55,7 +53,7 @@ USERNAME = clickhouse
|
||||
PASSWORD = clickhouse
|
||||
```
|
||||
|
||||
您可以使用 `isql` unixodbc安装中的实用程序。
|
||||
您可以使用unixODBC安装的 `isql` 实用程序检查连接。
|
||||
|
||||
``` bash
|
||||
$ isql -v mysqlconn
|
||||
|
@ -1,26 +1,43 @@
|
||||
---
|
||||
machine_translated: true
|
||||
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
|
||||
toc_priority: 41
|
||||
toc_title: url
|
||||
---
|
||||
|
||||
# url {#url}
|
||||
|
||||
`url(URL, format, structure)` -返回从创建的表 `URL` 与给定
|
||||
`format` 和 `structure`.
|
||||
`url` 函数从 `URL` 创建一个具有给定 `format` 和 `structure` 的表。
|
||||
|
||||
URL-HTTP或HTTPS服务器地址,它可以接受 `GET` 和/或 `POST` 请求。
|
||||
`url` 函数可用于对[URL](../../engines/table-engines/special/url.md)表中的数据进行 `SELECT` 和 `INSERT` 的查询中。
|
||||
|
||||
格式 - [格式](../../interfaces/formats.md#formats) 的数据。
|
||||
**语法**
|
||||
|
||||
结构-表结构 `'UserID UInt64, Name String'` 格式。 确定列名称和类型。
|
||||
``` sql
|
||||
url(URL, format, structure)
|
||||
```
|
||||
|
||||
**参数**
|
||||
|
||||
- `URL` — HTTP或HTTPS服务器地址,它可以接受 `GET` 或 `POST` 请求 (对应于 `SELECT` 或 `INSERT` 查询)。类型: [String](../../sql-reference/data-types/string.md)。
|
||||
- `format` — 数据[格式](../../interfaces/formats.md#formats)。类型: [String](../../sql-reference/data-types/string.md)。
|
||||
- `structure` — 以 `'UserID UInt64, Name String'` 格式的表结构。确定列名和类型。 类型: [String](../../sql-reference/data-types/string.md)。
|
||||
|
||||
**返回值**
|
||||
|
||||
A table with the specified format and structure and with data from the defined `URL`.
|
||||
|
||||
**示例**
|
||||
|
||||
获取一个表的前3行,该表是从HTTP服务器获取的包含 `String` 和 [UInt32](../../sql-reference/data-types/int-uint.md) 类型的列,以[CSV](../../interfaces/formats.md#csv)格式返回。
|
||||
|
||||
``` sql
|
||||
-- getting the first 3 lines of a table that contains columns of String and UInt32 type from HTTP-server which answers in CSV format.
|
||||
SELECT * FROM url('http://127.0.0.1:12345/', CSV, 'column1 String, column2 UInt32') LIMIT 3
|
||||
SELECT * FROM url('http://127.0.0.1:12345/', CSV, 'column1 String, column2 UInt32') LIMIT 3;
|
||||
```
|
||||
|
||||
将 `URL` 的数据插入到表中:
|
||||
|
||||
``` sql
|
||||
CREATE TABLE test_table (column1 String, column2 UInt32) ENGINE=Memory;
|
||||
INSERT INTO FUNCTION url('http://127.0.0.1:8123/?query=INSERT+INTO+test_table+FORMAT+CSV', 'CSV', 'column1 String, column2 UInt32') VALUES ('http interface', 42);
|
||||
SELECT * FROM test_table;
|
||||
```
|
||||
[原始文章](https://clickhouse.tech/docs/en/query_language/table_functions/url/) <!--hide-->
|
||||
|
Loading…
Reference in New Issue
Block a user