fix translations for other table functions

This commit is contained in:
jianmei zhang 2021-03-19 10:32:20 +08:00
parent dc96085407
commit c6083cd50c
8 changed files with 93 additions and 87 deletions

View File

@ -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 "警告"
如果您的文件列表包含带前导零的数字范围,请对每个数字分别使用带有大括号的结构或使用 `?`.
如果您的文件列表包含带前导零的数字范围,请对每个数字分别使用带有大括号的结构或使用 `?`
**示例**

View File

@ -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`文件名称。
**另请参阅**

View 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-->

View File

@ -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')

View File

@ -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-->

View File

@ -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);
```

View File

@ -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` 键入它将转换为0ClickHouse的默认值 `Int32` 数据类型)。
外部表中字段包含的 `NULL` 值将转换为基本据类型的默认值。 例如如果远程MySQL表字段包含 `INT NULL` 类型则将被转换为0ClickHouse`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

View File

@ -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-->