Restore some old manual anchors in docs (#9803)

* Simplify 404 page

* add es array_functions.md

* restore some old manual anchors

* update sitemaps

* trigger checks

* restore more old manual anchors

* refactor test.md + temporary disable failure again

* fix mistype
This commit is contained in:
Ivan Blinkov 2020-03-22 12:14:59 +03:00 committed by GitHub
parent 2fd4439e5f
commit 790704d081
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
185 changed files with 1737 additions and 922 deletions

View File

@ -1,4 +1,4 @@
# DateTime {#data-type-datetime}
# DateTime {#data_type-datetime}
Allows to store an instant in time, that can be expressed as a calendar date and a time of a day.

View File

@ -1,4 +1,4 @@
# DateTime64 {#data-type-datetime64}
# DateTime64 {#data_type-datetime64}
Allows to store an instant in time, that can be expressed as a calendar date and a time of a day, with defined sub-second precision

View File

@ -29,7 +29,7 @@ SELECT 1 - 0.9
- Floating-point calculations might result in numbers such as infinity (`Inf`) and “not-a-number” (`NaN`). This should be taken into account when processing the results of calculations.
- When parsing floating-point numbers from text, the result might not be the nearest machine-representable number.
## NaN and Inf {#data-type-float-nan-inf}
## NaN and Inf {#data_type-float-nan-inf}
In contrast to standard SQL, ClickHouse supports the following categories of floating-point numbers:

View File

@ -1,4 +1,4 @@
# Data Types {#data-types}
# Data Types {#data_types}
ClickHouse can store various kinds of data in table cells.

View File

@ -1,4 +1,4 @@
# Nullable(TypeName) {#data-type-nullable}
# Nullable(TypeName) {#data_type-nullable}
Allows to store special marker ([NULL](../query_language/syntax.md)) that denotes “missing value” alongside normal values allowed by `TypeName`. For example, a `Nullable(Int8)` type column can store `Int8` type values, and the rows that dont have a value will store `NULL`.

View File

@ -24,7 +24,7 @@ ENGINE = MySQL('host:port', 'database', 'user', 'password')
- `user` — MySQL user.
- `password` — User password.
## Data Types Support {#data-types-support}
## Data Types Support {#data_types-support}
| MySQL | ClickHouse |
|----------------------------------|---------------------------------------------|

View File

@ -24,7 +24,7 @@ Nevertheless, it is possible to work with individual values as well. To represen
Various functions on columns can be implemented in a generic, non-efficient way using `IColumn` methods to extract `Field` values, or in a specialized way using knowledge of inner memory layout of data in a specific `IColumn` implementation. To do this, functions are cast to a specific `IColumn` type and deal with internal representation directly. For example, `ColumnUInt64` has the `getData` method that returns a reference to an internal array, then a separate routine reads or fills that array directly. In fact, we have “leaky abstractions” to allow efficient specializations of various routines.
## Data Types {#data-types}
## Data Types {#data_types}
`IDataType` is responsible for serialization and deserialization: for reading and writing chunks of columns or individual values in binary or text form. `IDataType` directly corresponds to data types in tables. For example, there are `DataTypeUInt32`, `DataTypeDateTime`, `DataTypeString` and so on.
@ -191,4 +191,4 @@ In addition, each replica stores its state in ZooKeeper as the set of parts and
> The ClickHouse cluster consists of independent shards, and each shard consists of replicas. The cluster is not elastic, so after adding a new shard, data is not rebalanced between shards automatically. Instead, the cluster load will be uneven. This implementation gives you more control, and it is fine for relatively small clusters such as tens of nodes. But for clusters with hundreds of nodes that we are using in production, this approach becomes a significant drawback. We should implement a table engine that will span its data across the cluster with dynamically replicated regions that could be split and balanced between clusters automatically.
[Original article](https://clickhouse.tech/docs/en/development/architecture/) <!--hide-->
{## [Original article](https://clickhouse.tech/docs/en/development/architecture/) ##}

View File

@ -17,7 +17,7 @@ Different client and server versions are compatible with one another, but some f
ClickHouse client version is older than ClickHouse server. It may lack support for new features.
## Usage {#cli-usage}
## Usage {#cli_usage}
The client can be used in interactive and non-interactive (batch) mode. To use batch mode, specify the query parameter, or send data to stdin (it verifies that stdin is not a terminal), or both. Similar to the HTTP interface, when using the query parameter and sending data to stdin, the request is a concatenation of the query parameter, a line feed, and the data in stdin. This is convenient for large INSERT queries.
@ -90,7 +90,7 @@ Format a query as usual, then place the values that you want to pass from the ap
$ clickhouse-client --param_tuple_in_tuple="(10, ('dt', 10))" -q "SELECT * FROM table WHERE val = {tuple_in_tuple:Tuple(UInt8, Tuple(String, UInt8))}"
```
## Configuring {#interfaces-cli-configuration}
## Configuring {#interfaces_cli_configuration}
You can pass parameters to `clickhouse-client` (all parameters have a default value) using:
@ -120,7 +120,7 @@ You can pass parameters to `clickhouse-client` (all parameters have a default va
- `--secure` If specified, will connect to server over secure connection.
- `--param_<name>` — Value for a [query with parameters](#cli-queries-with-parameters).
### Configuration Files {#configuration-files}
### Configuration Files {#configuration_files}
`clickhouse-client` uses the first existing file of the following:

View File

@ -984,7 +984,7 @@ See also [how to read/write length-delimited protobuf messages in popular langua
ClickHouse Avro format supports reading and writing [Avro data files](http://avro.apache.org/docs/current/spec.html#Object+Container+Files).
### Data Types Matching {#data-types-matching}
### Data Types Matching {#data_types-matching}
The table below shows supported data types and how they match ClickHouse [data types](../data_types/index.md) in `INSERT` and `SELECT` queries.
@ -1050,7 +1050,7 @@ Schemas are cached once resolved.
Schema Registry URL is configured with [format\_avro\_schema\_registry\_url](../operations/settings/settings.md#settings-format_avro_schema_registry_url)
### Data Types Matching {#data-types-matching-1}
### Data Types Matching {#data_types-matching-1}
Same as [Avro](#data-format-avro)
@ -1092,7 +1092,7 @@ SELECT * FROM topic1_stream;
[Apache Parquet](http://parquet.apache.org/) is a columnar storage format widespread in the Hadoop ecosystem. ClickHouse supports read and write operations for this format.
### Data Types Matching {#data-types-matching-2}
### Data Types Matching {#data_types-matching-2}
The table below shows supported data types and how they match ClickHouse [data types](../data_types/index.md) in `INSERT` and `SELECT` queries.
@ -1140,7 +1140,7 @@ To exchange data with Hadoop, you can use [HDFS table engine](../operations/tabl
[Apache ORC](https://orc.apache.org/) is a columnar storage format widespread in the Hadoop ecosystem. You can only insert data in this format to ClickHouse.
### Data Types Matching {#data-types-matching-3}
### Data Types Matching {#data_types-matching-3}
The table below shows supported data types and how they match ClickHouse [data types](../data_types/index.md) in `INSERT` queries.

View File

@ -1,4 +1,4 @@
# Configuration Files {#configuration-files}
# Configuration Files {#configuration_files}
ClickHouse supports multi-file configuration management. The main server configuration file is `/etc/clickhouse-server/config.xml`. Other files must be in the `/etc/clickhouse-server/config.d` directory.

View File

@ -85,7 +85,7 @@ Settings profiles are located in the file specified in the parameter `user_confi
<default_profile>default</default_profile>
```
## dictionaries\_config {#server-settings-dictionaries-config}
## dictionaries\_config {#server_settings-dictionaries_config}
The path to the config file for external dictionaries.
@ -102,7 +102,7 @@ See also “[External dictionaries](../../query_language/dicts/external_dicts.md
<dictionaries_config>*_dictionary.xml</dictionaries_config>
```
## dictionaries\_lazy\_load {#server-settings-dictionaries-lazy-load}
## dictionaries\_lazy\_load {#server_settings-dictionaries_lazy_load}
Lazy loading of dictionaries.
@ -118,7 +118,7 @@ The default is `true`.
<dictionaries_lazy_load>true</dictionaries_lazy_load>
```
## format\_schema\_path {#server-settings-format-schema-path}
## format\_schema\_path {#server_settings-format_schema_path}
The path to the directory with the schemes for the input data, such as schemas for the [CapnProto](../../interfaces/formats.md#capnproto) format.
@ -129,7 +129,7 @@ The path to the directory with the schemes for the input data, such as schemas f
<format_schema_path>format_schemas/</format_schema_path>
```
## graphite {#server-settings-graphite}
## graphite {#server_settings-graphite}
Sending data to [Graphite](https://github.com/graphite-project).
@ -163,7 +163,7 @@ You can configure multiple `<graphite>` clauses. For instance, you can use this
</graphite>
```
## graphite\_rollup {#server-settings-graphite-rollup}
## graphite\_rollup {#server_settings-graphite-rollup}
Settings for thinning data for Graphite.
@ -205,7 +205,7 @@ If `http_port` is specified, the OpenSSL configuration is ignored even if it is
<https>0000</https>
```
## http\_server\_default\_response {#server-settings-http-server-default-response}
## http\_server\_default\_response {#server_settings-http_server_default_response}
The page that is shown by default when you access the ClickHouse HTTP(s) server.
The default value is “Ok.” (with a line feed at the end)
@ -220,7 +220,7 @@ Opens `https://tabix.io/` when accessing `http://localhost: http_port`.
</http_server_default_response>
```
## include\_from {#server-settings-include-from}
## include\_from {#server_settings-include_from}
The path to the file with substitutions.
@ -285,7 +285,7 @@ The number of seconds that ClickHouse waits for incoming requests before closing
<keep_alive_timeout>3</keep_alive_timeout>
```
## listen\_host {#server-settings-listen-host}
## listen\_host {#server_settings-listen_host}
Restriction on hosts that requests can come from. If you want the server to answer all of them, specify `::`.
@ -296,7 +296,7 @@ Examples:
<listen_host>127.0.0.1</listen_host>
```
## logger {#server-settings-logger}
## logger {#server_settings-logger}
Logging settings.
@ -421,7 +421,7 @@ The value 0 means that you can delete all tables without any restrictions.
<max_table_size_to_drop>0</max_table_size_to_drop>
```
## merge\_tree {#server-settings-merge-tree}
## merge\_tree {#server_settings-merge_tree}
Fine tuning for tables in the [MergeTree](../table_engines/mergetree.md).
@ -435,7 +435,7 @@ For more information, see the MergeTreeSettings.h header file.
</merge_tree>
```
## openSSL {#server-settings-openssl}
## openSSL {#server_settings-openssl}
SSL client/server configuration.
@ -494,7 +494,7 @@ Keys for server/client settings:
</openSSL>
```
## part\_log {#server-settings-part-log}
## part\_log {#server_settings-part-log}
Logging events that are associated with [MergeTree](../table_engines/mergetree.md). For instance, adding or merging data. You can use the log to simulate merge algorithms and compare their characteristics. You can visualize the merge process.
@ -518,7 +518,7 @@ Use the following parameters to configure logging:
</part_log>
```
## path {#server-settings-path}
## path {#server_settings-path}
The path to the directory containing data.
@ -531,7 +531,7 @@ The path to the directory containing data.
<path>/var/lib/clickhouse/</path>
```
## query\_log {#server-settings-query-log}
## query\_log {#server_settings-query-log}
Setting for logging queries received with the [log\_queries=1](../settings/settings.md) setting.
@ -557,7 +557,7 @@ If the table doesnt exist, ClickHouse will create it. If the structure of the
</query_log>
```
## query\_thread\_log {#server-settings-query-thread-log}
## query\_thread\_log {#server_settings-query-thread-log}
Setting for logging threads of queries received with the [log\_query\_threads=1](../settings/settings.md#settings-log-query-threads) setting.
@ -583,7 +583,7 @@ If the table doesnt exist, ClickHouse will create it. If the structure of the
</query_thread_log>
```
## trace\_log {#server-settings-trace-log}
## trace\_log {#server_settings-trace_log}
Settings for the [trace\_log](../system_tables.md#system_tables-trace_log) system table operation.
@ -652,7 +652,7 @@ For the value of the `incl` attribute, see the section “[Configuration files](
- [skip\_unavailable\_shards](../settings/settings.md#settings-skip_unavailable_shards)
## timezone {#server-settings-timezone}
## timezone {#server_settings-timezone}
The servers time zone.
@ -666,7 +666,7 @@ The time zone is necessary for conversions between String and DateTime formats w
<timezone>Europe/Moscow</timezone>
```
## tcp\_port {#server-settings-tcp-port}
## tcp\_port {#server_settings-tcp_port}
Port for communicating with clients over the TCP protocol.
@ -676,7 +676,7 @@ Port for communicating with clients over the TCP protocol.
<tcp_port>9000</tcp_port>
```
## tcp\_port\_secure {#server-settings-tcp-port-secure}
## tcp\_port\_secure {#server_settings-tcp_port-secure}
TCP port for secure communication with clients. Use it with [OpenSSL](#server_settings-openssl) settings.
@ -690,7 +690,7 @@ Positive integer.
<tcp_port_secure>9440</tcp_port_secure>
```
## mysql\_port {#server-settings-mysql-port}
## mysql\_port {#server_settings-mysql_port}
Port for communicating with clients over MySQL protocol.
@ -704,7 +704,7 @@ Example
<mysql_port>9004</mysql_port>
```
## tmp\_path {#server-settings-tmp-path}
## tmp\_path {#server-settings-tmp_path}
Path to temporary data for processing large queries.
@ -728,7 +728,7 @@ If not set [`tmp_path`](#server-settings-tmp_path) is used, otherwise it is igno
- `max_data_part_size_bytes` is ignored
- you must have exactly one volume in that policy
## uncompressed\_cache\_size {#server-settings-uncompressed-cache-size}
## uncompressed\_cache\_size {#server-settings-uncompressed_cache_size}
Cache size (in bytes) for uncompressed data used by table engines from the [MergeTree](../table_engines/mergetree.md).
@ -742,7 +742,7 @@ The uncompressed cache is advantageous for very short queries in individual case
<uncompressed_cache_size>8589934592</uncompressed_cache_size>
```
## user\_files\_path {#server-settings-user-files-path}
## user\_files\_path {#server_settings-user_files_path}
The directory with user files. Used in the table function [file()](../../query_language/table_functions/file.md).
@ -767,7 +767,7 @@ Path to the file that contains:
<users_config>users.xml</users_config>
```
## zookeeper {#server-settings-zookeeper}
## zookeeper {#server-settings_zookeeper}
Contains settings that allow ClickHouse to interact with a [ZooKeeper](http://zookeeper.apache.org/) cluster.
@ -820,7 +820,7 @@ This section contains the following parameters:
- [Replication](../../operations/table_engines/replication.md)
- [ZooKeeper Programmers Guide](http://zookeeper.apache.org/doc/current/zookeeperProgrammers.html)
## use\_minimalistic\_part\_header\_in\_zookeeper {#server-settings-use-minimalistic-part-header-in-zookeeper}
## use\_minimalistic\_part\_header\_in\_zookeeper {#server-settings-use_minimalistic_part_header_in_zookeeper}
Storage method for data part headers in ZooKeeper.

View File

@ -1,4 +1,4 @@
# Permissions for Queries {#permissions-for-queries}
# Permissions for Queries {#permissions_for_queries}
Queries in ClickHouse can be divided into several types:
@ -15,7 +15,7 @@ The following settings regulate user permissions by the type of query:
`KILL QUERY` can be performed with any settings.
## readonly {#settings-readonly}
## readonly {#settings_readonly}
Restricts permissions for reading data, write data and change settings queries.
@ -36,7 +36,7 @@ from changing only specific settings, for details see [constraints on settings](
Default value: 0
## allow\_ddl {#settings-allow-ddl}
## allow\_ddl {#settings_allow_ddl}
Allows or denies [DDL](https://en.wikipedia.org/wiki/Data_definition_language) queries.

View File

@ -16,7 +16,7 @@ It can take one of two values: `throw` or `break`. Restrictions on aggregation (
`any (only for group_by_overflow_mode)` Continuing aggregation for the keys that got into the set, but dont add new keys to the set.
## max\_memory\_usage {#settings-max-memory-usage}
## max\_memory\_usage {#settings_max_memory_usage}
The maximum amount of RAM to use for running a query on a single server.
@ -73,7 +73,7 @@ A maximum number of unique keys received from aggregation. This setting lets you
What to do when the number of unique keys for aggregation exceeds the limit: throw, break, or any. By default, throw.
Using the any value lets you run an approximation of GROUP BY. The quality of this approximation depends on the statistical nature of the data.
## max\_bytes\_before\_external\_group\_by {#settings-max-bytes-before-external-group-by}
## max\_bytes\_before\_external\_group\_by {#settings-max_bytes_before_external_group_by}
Enables or disables execution of `GROUP BY` clauses in external memory. See [GROUP BY in external memory](../../query_language/select.md#select-group-by-in-external-memory).
@ -96,7 +96,7 @@ A maximum number of bytes before sorting.
What to do if the number of rows received before sorting exceeds one of the limits: throw or break. By default, throw.
## max\_result\_rows {#setting-max-result-rows}
## max\_result\_rows {#setting-max_result_rows}
Limit on the number of rows in the result. Also checked for subqueries, and on remote servers when running parts of a distributed query.
@ -223,7 +223,7 @@ A maximum number of bytes (uncompressed data) that can be passed to a remote ser
What to do when the amount of data exceeds one of the limits: throw or break. By default, throw.
## max\_rows\_in\_join {#settings-max-rows-in-join}
## max\_rows\_in\_join {#settings-max_rows_in_join}
Limits the number of rows in the hash table that is used when joining tables.
@ -240,7 +240,7 @@ Possible values:
Default value: 0.
## max\_bytes\_in\_join {#settings-max-bytes-in-join}
## max\_bytes\_in\_join {#settings-max_bytes_in_join}
Limits the size in bytes of the hash table used when joining tables.
@ -257,7 +257,7 @@ Possible values:
Default value: 0.
## join\_overflow\_mode {#settings-join-overflow-mode}
## join\_overflow\_mode {#settings-join_overflow_mode}
Defines what action ClickHouse performs when any of the following join limits is reached:

View File

@ -44,7 +44,7 @@ If `enable_optimize_predicate_expression = 1`, then the execution time of these
If `enable_optimize_predicate_expression = 0`, then the execution time of the second query is much longer, because the `WHERE` clause applies to all the data after the subquery finishes.
## fallback\_to\_stale\_replicas\_for\_distributed\_queries {#settings-fallback-to-stale-replicas-for-distributed-queries}
## fallback\_to\_stale\_replicas\_for\_distributed\_queries {#settings-fallback_to_stale_replicas_for_distributed_queries}
Forces a query to an out-of-date replica if updated data is not available. See [Replication](../table_engines/replication.md).
@ -54,7 +54,7 @@ Used when performing `SELECT` from a distributed table that points to replicated
By default, 1 (enabled).
## force\_index\_by\_date {#settings-force-index-by-date}
## force\_index\_by\_date {#settings-force_index_by_date}
Disables query execution if the index cant be used by date.
@ -80,7 +80,7 @@ Enables or disables [fsync](http://pubs.opengroup.org/onlinepubs/9699919799/func
It makes sense to disable it if the server has millions of tiny tables that are constantly being created and destroyed.
## enable\_http\_compression {#settings-enable-http-compression}
## enable\_http\_compression {#settings-enable_http_compression}
Enables or disables data compression in the response to an HTTP request.
@ -93,7 +93,7 @@ Possible values:
Default value: 0.
## http\_zlib\_compression\_level {#settings-http-zlib-compression-level}
## http\_zlib\_compression\_level {#settings-http_zlib_compression_level}
Sets the level of data compression in the response to an HTTP request if [enable\_http\_compression = 1](#settings-enable_http_compression).
@ -101,7 +101,7 @@ Possible values: Numbers from 1 to 9.
Default value: 3.
## http\_native\_compression\_disable\_checksumming\_on\_decompress {#settings-http-native-compression-disable-checksumming-on-decompress}
## http\_native\_compression\_disable\_checksumming\_on\_decompress {#settings-http_native_compression_disable_checksumming_on_decompress}
Enables or disables checksum verification when decompressing the HTTP POST data from the client. Used only for ClickHouse native compression format (not used with `gzip` or `deflate`).
@ -114,7 +114,7 @@ Possible values:
Default value: 0.
## send\_progress\_in\_http\_headers {#settings-send-progress-in-http-headers}
## send\_progress\_in\_http\_headers {#settings-send_progress_in_http_headers}
Enables or disables `X-ClickHouse-Progress` HTTP response headers in `clickhouse-server` responses.
@ -127,7 +127,7 @@ Possible values:
Default value: 0.
## max\_http\_get\_redirects {#setting-max-http-get-redirects}
## max\_http\_get\_redirects {#setting-max_http_get_redirects}
Limits the maximum number of HTTP GET redirect hops for [URL](../table_engines/url.md)-engine tables. The setting applies to both types of tables: those created by the [CREATE TABLE](../../query_language/create/#create-table-query) query and by the [url](../../query_language/table_functions/url.md) table function.
@ -138,7 +138,7 @@ Possible values:
Default value: 0.
## input\_format\_allow\_errors\_num {#settings-input-format-allow-errors-num}
## input\_format\_allow\_errors\_num {#settings-input_format_allow_errors_num}
Sets the maximum number of acceptable errors when reading from text formats (CSV, TSV, etc.).
@ -150,7 +150,7 @@ If an error occurred while reading rows but the error counter is still less than
If both `input_format_allow_errors_num` and `input_format_allow_errors_ratio` are exceeded, ClickHouse throws an exception.
## input\_format\_allow\_errors\_ratio {#settings-input-format-allow-errors-ratio}
## input\_format\_allow\_errors\_ratio {#settings-input_format_allow_errors_ratio}
Sets the maximum percentage of errors allowed when reading from text formats (CSV, TSV, etc.).
The percentage of errors is set as a floating-point number between 0 and 1.
@ -163,7 +163,7 @@ If an error occurred while reading rows but the error counter is still less than
If both `input_format_allow_errors_num` and `input_format_allow_errors_ratio` are exceeded, ClickHouse throws an exception.
## input\_format\_values\_interpret\_expressions {#settings-input-format-values-interpret-expressions}
## input\_format\_values\_interpret\_expressions {#settings-input_format_values_interpret_expressions}
Enables or disables the full SQL parser if the fast stream parser cant parse the data. This setting is used only for the [Values](../../interfaces/formats.md#data-format-values) format at the data insertion. For more information about syntax parsing, see the [Syntax](../../query_language/syntax.md) section.
@ -213,7 +213,7 @@ INSERT INTO datetime_t SELECT now()
Ok.
```
## input\_format\_values\_deduce\_templates\_of\_expressions {#settings-input-format-values-deduce-templates-of-expressions}
## input\_format\_values\_deduce\_templates\_of\_expressions {#settings-input_format_values_deduce_templates_of_expressions}
Enables or disables template deduction for an SQL expressions in [Values](../../interfaces/formats.md#data-format-values) format. It allows to parse and interpret expressions in `Values` much faster if expressions in consecutive rows have the same structure. ClickHouse will try to deduce template of an expression, parse the following rows using this template and evaluate the expression on a batch of successfully parsed rows. For the following query:
@ -241,7 +241,7 @@ When this setting is enabled, ClickHouse will check the actual type of literal a
When disabled, ClickHouse may use more general type for some literals (e.g. `Float64` or `Int64` instead of `UInt64` for `42`), but it may cause overflow and precision issues.
Enabled by default.
## input\_format\_defaults\_for\_omitted\_fields {#session-settings-input-format-defaults-for-omitted-fields}
## input\_format\_defaults\_for\_omitted\_fields {#session_settings-input_format_defaults_for_omitted_fields}
When performing `INSERT` queries, replace omitted input column values with default values of the respective columns. This option only applies to [JSONEachRow](../../interfaces/formats.md#jsoneachrow), [CSV](../../interfaces/formats.md#csv) and [TabSeparated](../../interfaces/formats.md#tabseparated) formats.
@ -285,7 +285,7 @@ Possible values:
Default value: 0.
## input\_format\_import\_nested\_json {#settings-input-format-import-nested-json}
## input\_format\_import\_nested\_json {#settings-input_format_import_nested_json}
Enables or disables the insertion of JSON data with nested objects.
@ -322,7 +322,7 @@ Possible values:
Default value: 1.
## date\_time\_input\_format {#settings-date-time-input-format}
## date\_time\_input\_format {#settings-date_time_input_format}
Allows choosing a parser of the text representation of date and time.
@ -345,7 +345,7 @@ See also:
- [DateTime data type.](../../data_types/datetime.md)
- [Functions for working with dates and times.](../../query_language/functions/date_time_functions.md)
## join\_default\_strictness {#settings-join-default-strictness}
## join\_default\_strictness {#settings-join_default_strictness}
Sets default strictness for [JOIN clauses](../../query_language/select.md#select-join).
@ -358,7 +358,7 @@ Possible values:
Default value: `ALL`.
## join\_any\_take\_last\_row {#settings-join-any-take-last-row}
## join\_any\_take\_last\_row {#settings-join_any_take_last_row}
Changes behaviour of join operations with `ANY` strictness.
@ -378,7 +378,7 @@ See also:
- [Join table engine](../table_engines/join.md)
- [join\_default\_strictness](#settings-join_default_strictness)
## join\_use\_nulls {#join-use-nulls}
## join\_use\_nulls {#join_use_nulls}
Sets the type of [JOIN](../../query_language/select.md) behavior. When merging tables, empty cells may appear. ClickHouse fills them differently based on this setting.
@ -389,7 +389,7 @@ Possible values:
Default value: 0.
## max\_block\_size {#setting-max-block-size}
## max\_block\_size {#setting-max_block_size}
In ClickHouse, data is processed by blocks (sets of column parts). The internal processing cycles for a single block are efficient enough, but there are noticeable expenditures on each block. The `max_block_size` setting is a recommendation for what size of the block (in a count of rows) to load from tables. The block size shouldnt be too small, so that the expenditures on each block are still noticeable, but not too large so that the query with LIMIT that is completed after the first block is processed quickly. The goal is to avoid consuming too much memory when extracting a large number of columns in multiple threads and to preserve at least some cache locality.
@ -514,7 +514,7 @@ Example:
log_query_threads=1
```
## max\_insert\_block\_size {#settings-max-insert-block-size}
## max\_insert\_block\_size {#settings-max_insert_block_size}
The size of blocks to form for insertion into a table.
This setting only applies in cases when the server forms the blocks.
@ -526,7 +526,7 @@ Default value: 1,048,576.
The default is slightly more than `max_block_size`. The reason for this is because certain table engines (`*MergeTree`) form a data part on the disk for each inserted block, which is a fairly large entity. Similarly, `*MergeTree` tables sort data during insertion and a large enough block size allow sorting more data in RAM.
## max\_replica\_delay\_for\_distributed\_queries {#settings-max-replica-delay-for-distributed-queries}
## max\_replica\_delay\_for\_distributed\_queries {#settings-max_replica_delay_for_distributed_queries}
Disables lagging replicas for distributed queries. See [Replication](../../operations/table_engines/replication.md).
@ -536,7 +536,7 @@ Default value: 300.
Used when performing `SELECT` from a distributed table that points to replicated tables.
## max\_threads {#settings-max-threads}
## max\_threads {#settings-max_threads}
The maximum number of query processing threads, excluding threads for retrieving data from remote servers (see the max\_distributed\_connections parameter).
@ -585,7 +585,7 @@ We are writing a URL column with the String type (average size of 60 bytes per v
There usually isnt any reason to change this setting.
## max\_query\_size {#settings-max-query-size}
## max\_query\_size {#settings-max_query_size}
The maximum part of a query that can be taken to RAM for parsing with the SQL parser.
The INSERT query also contains data for INSERT that is processed by a separate stream parser (that consumes O(1) RAM), which is not included in this restriction.
@ -648,7 +648,7 @@ Default value: 3.
Whether to count extreme values (the minimums and maximums in columns of a query result). Accepts 0 or 1. By default, 0 (disabled).
For more information, see the section “Extreme values”.
## use\_uncompressed\_cache {#setting-use-uncompressed-cache}
## use\_uncompressed\_cache {#setting-use_uncompressed_cache}
Whether to use a cache of uncompressed blocks. Accepts 0 or 1. By default, 0 (disabled).
Using the uncompressed cache (only for tables in the MergeTree family) can significantly reduce latency and increase throughput when working with a large number of short queries. Enable this setting for users who send frequent short requests. Also pay attention to the [uncompressed\_cache\_size](../server_settings/settings.md#server-settings-uncompressed_cache_size) configuration parameter (only set in the config file) the size of uncompressed cache blocks. By default, it is 8 GiB. The uncompressed cache is filled in as needed and the least-used data is automatically deleted.
@ -674,7 +674,7 @@ The default value is 7500.
The smaller the value, the more often data is flushed into the table. Setting the value too low leads to poor performance.
## load\_balancing {#settings-load-balancing}
## load\_balancing {#settings-load_balancing}
Specifies the algorithm of replicas selection that is used for distributed query processing.
@ -685,7 +685,7 @@ ClickHouse supports the following algorithms of choosing replicas:
- [In order](#load_balancing-in_order)
- [First or random](#load_balancing-first_or_random)
### Random (by default) {#load-balancing-random}
### Random (by default) {#load_balancing-random}
``` sql
load_balancing = random
@ -694,7 +694,7 @@ load_balancing = random
The number of errors is counted for each replica. The query is sent to the replica with the fewest errors, and if there are several of these, to anyone of them.
Disadvantages: Server proximity is not accounted for; if the replicas have different data, you will also get different data.
### Nearest Hostname {#load-balancing-nearest-hostname}
### Nearest Hostname {#load_balancing-nearest_hostname}
``` sql
load_balancing = nearest_hostname
@ -708,7 +708,7 @@ This method might seem primitive, but it doesnt require external data about n
Thus, if there are equivalent replicas, the closest one by name is preferred.
We can also assume that when sending a query to the same server, in the absence of failures, a distributed query will also go to the same servers. So even if different data is placed on the replicas, the query will return mostly the same results.
### In Order {#load-balancing-in-order}
### In Order {#load_balancing-in_order}
``` sql
load_balancing = in_order
@ -717,7 +717,7 @@ load_balancing = in_order
Replicas with the same number of errors are accessed in the same order as they are specified in the configuration.
This method is appropriate when you know exactly which replica is preferable.
### First or Random {#load-balancing-first-or-random}
### First or Random {#load_balancing-first_or_random}
``` sql
load_balancing = first_or_random
@ -751,7 +751,7 @@ See the section “WITH TOTALS modifier”.
The threshold for `totals_mode = 'auto'`.
See the section “WITH TOTALS modifier”.
## max\_parallel\_replicas {#settings-max-parallel-replicas}
## max\_parallel\_replicas {#settings-max_parallel_replicas}
The maximum number of replicas for each shard when executing a query.
For consistency (to get different parts of the same data split), this option only works when the sampling key is set.
@ -773,15 +773,15 @@ If the value is 1 or more, compilation occurs asynchronously in a separate threa
Compiled code is required for each different combination of aggregate functions used in the query and the type of keys in the GROUP BY clause.
The results of the compilation are saved in the build directory in the form of .so files. There is no restriction on the number of compilation results since they dont use very much space. Old results will be used after server restarts, except in the case of a server upgrade in this case, the old results are deleted.
## output\_format\_json\_quote\_64bit\_integers {#session-settings-output-format-json-quote-64bit-integers}
## output\_format\_json\_quote\_64bit\_integers {#session_settings-output_format_json_quote_64bit_integers}
If the value is true, integers appear in quotes when using JSON\* Int64 and UInt64 formats (for compatibility with most JavaScript implementations); otherwise, integers are output without the quotes.
## format\_csv\_delimiter {#settings-format-csv-delimiter}
## format\_csv\_delimiter {#settings-format_csv_delimiter}
The character interpreted as a delimiter in the CSV data. By default, the delimiter is `,`.
## input\_format\_csv\_unquoted\_null\_literal\_as\_null {#settings-input-format-csv-unquoted-null-literal-as-null}
## input\_format\_csv\_unquoted\_null\_literal\_as\_null {#settings-input_format_csv_unquoted_null_literal_as_null}
For CSV input format enables or disables parsing of unquoted `NULL` as literal (synonym for `\N`).
@ -793,7 +793,7 @@ Use DOS/Windows-style line separator (CRLF) in CSV instead of Unix style (LF).
Use DOC/Windows-style line separator (CRLF) in TSV instead of Unix style (LF).
## insert\_quorum {#settings-insert-quorum}
## insert\_quorum {#settings-insert_quorum}
Enables the quorum writes.
@ -820,7 +820,7 @@ See also:
- [insert\_quorum\_timeout](#settings-insert_quorum_timeout)
- [select\_sequential\_consistency](#settings-select_sequential_consistency)
## insert\_quorum\_timeout {#settings-insert-quorum-timeout}
## insert\_quorum\_timeout {#settings-insert_quorum-timeout}
Write to quorum timeout in seconds. If the timeout has passed and no write has taken place yet, ClickHouse will generate an exception and the client must repeat the query to write the same block to the same or any other replica.
@ -831,7 +831,7 @@ See also:
- [insert\_quorum](#settings-insert_quorum)
- [select\_sequential\_consistency](#settings-select_sequential_consistency)
## select\_sequential\_consistency {#settings-select-sequential-consistency}
## select\_sequential\_consistency {#settings-select_sequential_consistency}
Enables or disables sequential consistency for `SELECT` queries:
@ -926,7 +926,7 @@ Possible values:
Default value: 0.
## count\_distinct\_implementation {#settings-count-distinct-implementation}
## count\_distinct\_implementation {#settings-count_distinct_implementation}
Specifies which of the `uniq*` functions should be used to perform the [COUNT(DISTINCT …)](../../query_language/agg_functions/reference.md#agg_function-count) construction.
@ -940,7 +940,7 @@ Possible values:
Default value: `uniqExact`.
## skip\_unavailable\_shards {#settings-skip-unavailable-shards}
## skip\_unavailable\_shards {#settings-skip_unavailable_shards}
Enables or disables silently skipping of unavailable shards.
@ -970,7 +970,7 @@ Possible values:
Default value: 0.
## optimize\_skip\_unused\_shards {#settings-optimize-skip-unused-shards}
## optimize\_skip\_unused\_shards {#settings-optimize_skip_unused_shards}
Enables or disables skipping of unused shards for SELECT queries that have sharding key condition in PREWHERE/WHERE (assumes that the data is distributed by sharding key, otherwise do nothing).
@ -988,7 +988,7 @@ Possible values:
Default value: 0
## optimize\_throw\_if\_noop {#setting-optimize-throw-if-noop}
## optimize\_throw\_if\_noop {#setting-optimize_throw_if_noop}
Enables or disables throwing an exception if an [OPTIMIZE](../../query_language/misc.md#misc_operations-optimize) query didnt perform a merge.
@ -1001,7 +1001,7 @@ Possible values:
Default value: 0.
## distributed\_replica\_error\_half\_life {#settings-distributed-replica-error-half-life}
## distributed\_replica\_error\_half\_life {#settings-distributed_replica_error_half_life}
- Type: seconds
- Default value: 60 seconds
@ -1013,7 +1013,7 @@ See also:
- [Table engine Distributed](../../operations/table_engines/distributed.md)
- [distributed\_replica\_error\_cap](#settings-distributed_replica_error_cap)
## distributed\_replica\_error\_cap {#settings-distributed-replica-error-cap}
## distributed\_replica\_error\_cap {#settings-distributed_replica_error_cap}
- Type: unsigned int
- Default value: 1000
@ -1025,7 +1025,7 @@ See also:
- [Table engine Distributed](../../operations/table_engines/distributed.md)
- [distributed\_replica\_error\_half\_life](#settings-distributed_replica_error_half_life)
## distributed\_directory\_monitor\_sleep\_time\_ms {#distributed-directory-monitor-sleep-time-ms}
## distributed\_directory\_monitor\_sleep\_time\_ms {#distributed_directory_monitor_sleep_time_ms}
Base interval for the [Distributed](../table_engines/distributed.md) table engine to send data. The actual interval grows exponentially in the event of errors.
@ -1035,7 +1035,7 @@ Possible values:
Default value: 100 milliseconds.
## distributed\_directory\_monitor\_max\_sleep\_time\_ms {#distributed-directory-monitor-max-sleep-time-ms}
## distributed\_directory\_monitor\_max\_sleep\_time\_ms {#distributed_directory_monitor_max_sleep_time_ms}
Maximum interval for the [Distributed](../table_engines/distributed.md) table engine to send data. Limits exponential growth of the interval set in the [distributed\_directory\_monitor\_sleep\_time\_ms](#distributed_directory_monitor_sleep_time_ms) setting.
@ -1045,7 +1045,7 @@ Possible values:
Default value: 30000 milliseconds (30 seconds).
## distributed\_directory\_monitor\_batch\_inserts {#distributed-directory-monitor-batch-inserts}
## distributed\_directory\_monitor\_batch\_inserts {#distributed_directory_monitor_batch_inserts}
Enables/disables sending of inserted data in batches.
@ -1073,7 +1073,7 @@ Lower values mean higher priority. Threads with low `nice` priority values are e
Default value: 0.
## query\_profiler\_real\_time\_period\_ns {#query-profiler-real-time-period-ns}
## query\_profiler\_real\_time\_period\_ns {#query_profiler_real_time_period_ns}
Sets the period for a real clock timer of the [query profiler](../../operations/performance/sampling_query_profiler.md). Real clock timer counts wall-clock time.
@ -1096,7 +1096,7 @@ See also:
- System table [trace\_log](../system_tables.md#system_tables-trace_log)
## query\_profiler\_cpu\_time\_period\_ns {#query-profiler-cpu-time-period-ns}
## query\_profiler\_cpu\_time\_period\_ns {#query_profiler_cpu_time_period_ns}
Sets the period for a CPU clock timer of the [query profiler](../../operations/performance/sampling_query_profiler.md). This timer counts only CPU time.
@ -1119,7 +1119,7 @@ See also:
- System table [trace\_log](../system_tables.md#system_tables-trace_log)
## allow\_introspection\_functions {#settings-allow-introspection-functions}
## allow\_introspection\_functions {#settings-allow_introspection_functions}
Enables of disables [introspections functions](../../query_language/functions/introspection.md) for query profiling.
@ -1149,7 +1149,7 @@ Enable order-preserving parallel parsing of data formats. Supported only for TSV
The minimum chunk size in bytes, which each thread will parse in parallel.
## output\_format\_avro\_codec {#settings-output-format-avro-codec}
## output\_format\_avro\_codec {#settings-output_format_avro_codec}
Sets the compression codec used for output Avro file.
@ -1163,7 +1163,7 @@ Possible values:
Default value: `snappy` (if available) or `deflate`.
## output\_format\_avro\_sync\_interval {#settings-output-format-avro-sync-interval}
## output\_format\_avro\_sync\_interval {#settings-output_format_avro_sync_interval}
Sets minimum data size (in bytes) between synchronization markers for output Avro file.
@ -1173,7 +1173,7 @@ Possible values: 32 (32 bytes) - 1073741824 (1 GiB)
Default value: 32768 (32 KiB)
## format\_avro\_schema\_registry\_url {#settings-format-avro-schema-registry-url}
## format\_avro\_schema\_registry\_url {#settings-format_avro_schema_registry_url}
Sets Confluent Schema Registry URL to use with [AvroConfluent](../../interfaces/formats.md#data-format-avro-confluent) format

View File

@ -6,7 +6,7 @@ System tables dont have files with data on the disk or files with metadata. T
System tables are read-only.
They are located in the system database.
## system.asynchronous\_metrics {#system-tables-asynchronous-metrics}
## system.asynchronous\_metrics {#system_tables-asynchronous_metrics}
Contains metrics that are calculated periodically in the background. For example, the amount of RAM in use.
@ -138,7 +138,7 @@ This table contains a single String column called name the name of a d
Each database that the server knows about has a corresponding entry in the table.
This system table is used for implementing the `SHOW DATABASES` query.
## system.detached\_parts {#system-tables-detached-parts}
## system.detached\_parts {#system_tables-detached_parts}
Contains information about detached parts of [MergeTree](table_engines/mergetree.md) tables. The `reason` column specifies why the part was detached. For user-detached parts, the reason is empty. Such parts can be attached with [ALTER TABLE ATTACH PARTITION\|PART](../query_language/query_language/alter/#alter_attach-partition) command. For the description of other columns, see [system.parts](#system_tables-parts). If part name is invalid, values of some columns may be `NULL`. Such parts can be deleted with [ALTER TABLE DROP DETACHED PART](../query_language/query_language/alter/#alter_drop-detached).
@ -164,7 +164,7 @@ Columns:
Note that the amount of memory used by the dictionary is not proportional to the number of items stored in it. So for flat and cached dictionaries, all the memory cells are pre-assigned, regardless of how full the dictionary actually is.
## system.events {#system-tables-events}
## system.events {#system_tables-events}
Contains information about the number of events that have occurred in the system. For example, in the table, you can find how many `SELECT` queries were processed since the ClickHouse server started.
@ -242,7 +242,7 @@ Columns:
- `bytes_written_uncompressed` (UInt64) — Number of bytes written, uncompressed.
- `rows_written` (UInt64) — Number of rows written.
## system.metrics {#system-tables-metrics}
## system.metrics {#system_tables-metrics}
Contains metrics which can be calculated instantly, or have a current value. For example, the number of simultaneously processed queries or the current replica delay. This table is always up to date.
@ -282,7 +282,7 @@ SELECT * FROM system.metrics LIMIT 10
- [system.metric\_log](#system_tables-metric_log) — Contains a history of metrics values from tables `system.metrics` и `system.events`.
- [Monitoring](monitoring.md) — Base concepts of ClickHouse monitoring.
## system.metric\_log {#system-tables-metric-log}
## system.metric\_log {#system_tables-metric_log}
Contains history of metrics values from tables `system.metrics` and `system.events`, periodically flushed to disk.
To turn on metrics history collection on `system.metric_log`, create `/etc/clickhouse-server/config.d/metric_log.xml` with following content:
@ -355,7 +355,7 @@ This table contains a single row with a single dummy UInt8 column containi
This table is used if a SELECT query doesnt specify the FROM clause.
This is similar to the DUAL table found in other DBMSs.
## system.parts {#system-tables-parts}
## system.parts {#system_tables-parts}
Contains information about parts of [MergeTree](table_engines/mergetree.md) tables.
@ -436,7 +436,7 @@ Columns:
- `marks_size` (`UInt64`) Alias for `marks_bytes`.
## system.part\_log {#system-tables-part-log}
## system.part\_log {#system_tables-part-log}
The `system.part_log` table is created only if the [part\_log](server_settings/settings.md#server_settings-part-log) server setting is specified.
@ -469,7 +469,7 @@ The `system.part_log` table contains the following columns:
The `system.part_log` table is created after the first inserting data to the `MergeTree` table.
## system.processes {#system-tables-processes}
## system.processes {#system_tables-processes}
This system table is used for implementing the `SHOW PROCESSLIST` query.
@ -512,7 +512,7 @@ Columns:
- `source_file` (`LowCardinality(String)`) - Source file from which the logging was done.
- `source_line` (`UInt64`) - Source line from which the logging was done.
## system.query\_log {#system-tables-query-log}
## system.query\_log {#system_tables-query_log}
Contains information about execution of queries. For each query, you can see processing start time, duration of processing, error messages and other information.
@ -598,7 +598,7 @@ When the table is deleted manually, it will be automatically created on the fly.
You can specify an arbitrary partitioning key for the `system.query_log` table in the [query\_log](server_settings/settings.md#server_settings-query-log) server setting (see the `partition_by` parameter).
## system.query\_thread\_log {#system-tables-query-thread-log}
## system.query\_thread\_log {#system_tables-query-thread-log}
The table contains information about each query execution thread.
@ -663,7 +663,7 @@ When the table is deleted manually, it will be automatically created on the fly.
You can specify an arbitrary partitioning key for the `system.query_thread_log` table in the [query\_thread\_log](server_settings/settings.md#server_settings-query-thread-log) server setting (see the `partition_by` parameter).
## system.trace\_log {#system-tables-trace-log}
## system.trace\_log {#system_tables-trace_log}
Contains stack traces collected by the sampling query profiler.
@ -710,7 +710,7 @@ query_id: acc4d61f-5bd1-4a3e-bc91-2180be37c915
trace: [94222141367858,94222152240175,94222152325351,94222152329944,94222152330796,94222151449980,94222144088167,94222151682763,94222144088167,94222151682763,94222144088167,94222144058283,94222144059248,94222091840750,94222091842302,94222091831228,94222189631488,140509950166747,140509942945935]
```
## system.replicas {#system-tables-replicas}
## system.replicas {#system_tables-replicas}
Contains information and status for replicated tables residing on the local server.
This table can be used for monitoring. The table contains a row for every Replicated\* table.
@ -991,7 +991,7 @@ pzxid: 987021252247
path: /clickhouse/tables/01-08/visits/replicas
```
## system.mutations {#system-tables-mutations}
## system.mutations {#system_tables-mutations}
The table contains information about [mutations](../query_language/alter.md#alter-mutations) of MergeTree tables and their progress. Each mutation command is represented by a single row. The table has the following columns:
@ -1017,7 +1017,7 @@ If there were problems with mutating some parts, the following columns contain a
**latest\_fail\_reason** - The exception message that caused the most recent part mutation failure.
## system.disks {#system-tables-disks}
## system.disks {#system_tables-disks}
Contains information about disks defined in the [server configuration](table_engines/mergetree.md#table_engine-mergetree-multiple-volumes_configure).
@ -1029,7 +1029,7 @@ Columns:
- `total_space` ([UInt64](../data_types/int_uint.md)) — Disk volume in bytes.
- `keep_free_space` ([UInt64](../data_types/int_uint.md)) — Amount of disk space that should stay free on disk in bytes. Defined in the `keep_free_space_bytes` parameter of disk configuration.
## system.storage\_policies {#system-tables-storage-policies}
## system.storage\_policies {#system_tables-storage_policies}
Contains information about storage policies and volumes defined in the [server configuration](table_engines/mergetree.md#table_engine-mergetree-multiple-volumes_configure).

View File

@ -1,4 +1,4 @@
# CollapsingMergeTree {#table-engine-collapsingmergetree}
# CollapsingMergeTree {#table_engine-collapsingmergetree}
The engine inherits from [MergeTree](mergetree.md) and adds the logic of rows collapsing to data parts merge algorithm.
@ -57,7 +57,7 @@ All of the parameters excepting `sign` have the same meaning as in `MergeTree`.
</details>
## Collapsing {#table-engine-collapsingmergetree-collapsing}
## Collapsing {#table_engine-collapsingmergetree-collapsing}
### Data {#data}
@ -105,7 +105,7 @@ Why we need 2 rows for each change read in the [Algorithm](#table_engine-collaps
2. Long growing arrays in columns reduce the efficiency of the engine due to load for writing. The more straightforward data, the higher the efficiency.
3. The `SELECT` results depend strongly on the consistency of object changes history. Be accurate when preparing data for inserting. You can get unpredictable results in inconsistent data, for example, negative values for non-negative metrics such as session depth.
### Algorithm {#table-engine-collapsingmergetree-collapsing-algorithm}
### Algorithm {#table_engine-collapsingmergetree-collapsing-algorithm}
When ClickHouse merges data parts, each group of consecutive rows with the same sorting key (`ORDER BY`) is reduced to not more than two rows, one with `Sign = 1` (“state” row) and another with `Sign = -1` (“cancel” row). In other words, entries collapse.

View File

@ -1,4 +1,4 @@
# File {#table-engines-file}
# File {#table_engines-file}
The File table engine keeps the data in a file in one of the supported [file
formats](../../interfaces/formats.md#formats) (TabSeparated, Native, etc.).

View File

@ -1,4 +1,4 @@
# GenerateRandom {#table-engines-generate}
# GenerateRandom {#table_engines-generate}
The GenerateRandom table engine produces random data for given table schema.

View File

@ -1,4 +1,4 @@
# HDFS {#table-engines-hdfs}
# HDFS {#table_engines-hdfs}
This engine provides integration with [Apache Hadoop](https://en.wikipedia.org/wiki/Apache_Hadoop) ecosystem by allowing to manage data on [HDFS](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)via ClickHouse. This engine is similar
to the [File](file.md) and [URL](url.md) engines, but provides Hadoop-specific features.

View File

@ -1,4 +1,4 @@
# Table engines {#table-engines}
# Table engines {#table_engines}
The table engine (type of table) determines:
@ -64,7 +64,7 @@ Engines in the family:
- [Memory](memory.md)
- [Buffer](buffer.md)
## Virtual columns {#table-engines-virtual-columns}
## Virtual columns {#table_engines-virtual-columns}
Virtual column is an integral table engine attribute that is defined in the engine source code.

View File

@ -8,7 +8,7 @@ Kafka lets you:
- Organize fault-tolerant storage.
- Process streams as they become available.
## Creating a Table {#table-engine-kafka-creating-a-table}
## Creating a Table {#table_engine-kafka-creating-a-table}
``` sql
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]

View File

@ -1,4 +1,4 @@
# MergeTree {#table-engines-mergetree}
# MergeTree {#table_engines-mergetree}
The `MergeTree` engine and other engines of this family (`*MergeTree`) are the most robust ClickHouse table engines.
@ -25,7 +25,7 @@ Main features:
!!! info "Info"
The [Merge](merge.md) engine does not belong to the `*MergeTree` family.
## Creating a Table {#table-engine-mergetree-creating-a-table}
## Creating a Table {#table_engine-mergetree-creating-a-table}
``` sql
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
@ -244,7 +244,7 @@ ClickHouse cannot use an index if the values of the primary key in the query par
ClickHouse uses this logic not only for days of the month sequences, but for any primary key that represents a partially-monotonic sequence.
### Data Skipping Indexes (Experimental) {#table-engine-mergetree-data-skipping-indexes}
### Data Skipping Indexes (Experimental) {#table_engine-mergetree-data_skipping-indexes}
The index declaration is in the columns section of the `CREATE` query.
@ -365,7 +365,7 @@ For concurrent table access, we use multi-versioning. In other words, when a tab
Reading from a table is automatically parallelized.
## TTL for Columns and Tables {#table-engine-mergetree-ttl}
## TTL for Columns and Tables {#table_engine-mergetree-ttl}
Determines the lifetime of values.
@ -475,7 +475,7 @@ If you perform the `SELECT` query between merges, you may get expired data. To a
[Original article](https://clickhouse.tech/docs/en/operations/table_engines/mergetree/) <!--hide-->
## Using Multiple Block Devices for Data Storage {#table-engine-mergetree-multiple-volumes}
## Using Multiple Block Devices for Data Storage {#table_engine-mergetree-multiple-volumes}
### Introduction {#introduction}
@ -492,7 +492,7 @@ Data part is the minimum movable unit for `MergeTree`-engine tables. The data be
The names given to the described entities can be found in the system tables, [system.storage\_policies](../system_tables.md#system_tables-storage_policies) and [system.disks](../system_tables.md#system_tables-disks). To apply one of the configured storage policies for a table, use the `storage_policy` setting of `MergeTree`-engine family tables.
### Configuration {#table-engine-mergetree-multiple-volumes-configure}
### Configuration {#table_engine-mergetree-multiple-volumes-configure}
Disks, volumes and storage policies should be declared inside the `<storage_configuration>` tag either in the main file `config.xml` or in a distinct file in the `config.d` directory.

View File

@ -1,4 +1,4 @@
# Data Replication {#table-engines-replication}
# Data Replication {#table_engines-replication}
Replication is only supported for tables in the MergeTree family:

View File

@ -4,7 +4,7 @@ This engine belongs to the family of log engines. See the common properties of l
Use this engine in scenarios when you need to write many tables with a small amount of data (less than 1 million rows).
## Creating a Table {#table-engines-stripelog-creating-a-table}
## Creating a Table {#table_engines-stripelog-creating-a-table}
``` sql
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
@ -17,7 +17,7 @@ CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
See the detailed description of the [CREATE TABLE](../../query_language/create.md#create-table-query) query.
## Writing the Data {#table-engines-stripelog-writing-the-data}
## Writing the Data {#table_engines-stripelog-writing-the-data}
The `StripeLog` engine stores all the columns in one file. For each `INSERT` query, ClickHouse appends the data block to the end of a table file, writing columns one by one.
@ -28,11 +28,11 @@ For each table ClickHouse writes the files:
The `StripeLog` engine does not support the `ALTER UPDATE` and `ALTER DELETE` operations.
## Reading the Data {#table-engines-stripelog-reading-the-data}
## Reading the Data {#table_engines-stripelog-reading-the-data}
The file with marks allows ClickHouse to parallelize the reading of data. This means that a `SELECT` query returns rows in an unpredictable order. Use the `ORDER BY` clause to sort rows.
## Example of Use {#table-engines-stripelog-example-of-use}
## Example of Use {#table_engines-stripelog-example-of-use}
Creating a table:

View File

@ -1,4 +1,4 @@
# URL(URL, Format) {#table-engines-url}
# URL(URL, Format) {#table_engines-url}
Manages data on a remote HTTP/HTTPS server. This engine is similar
to the [File](file.md) engine.

View File

@ -72,7 +72,7 @@ All of the parameters except `sign` and `version` have the same meaning as in `M
</details>
## Collapsing {#table-engines-versionedcollapsingmergetree}
## Collapsing {#table_engines-versionedcollapsingmergetree}
### Data {#data}
@ -120,7 +120,7 @@ To find out why we need two rows for each change, see [Algorithm](#table_engines
2. Long growing arrays in columns reduce the efficiency of the engine due to the load for writing. The more straightforward the data, the better the efficiency.
3. `SELECT` results depend strongly on the consistency of the history of object changes. Be accurate when preparing data for inserting. You can get unpredictable results with inconsistent data, such as negative values for non-negative metrics like session depth.
### Algorithm {#table-engines-versionedcollapsingmergetree-algorithm}
### Algorithm {#table_engines-versionedcollapsingmergetree-algorithm}
When ClickHouse merges data parts, it deletes each pair of rows that have the same primary key and version and different `Sign`. The order of rows does not matter.

View File

@ -1,4 +1,4 @@
# View {#table-engines-view}
# View {#table_engines-view}
Used for implementing views (for more information, see the `CREATE VIEW query`). It does not store data, but only stores the specified `SELECT` query. When reading from a table, it runs this query (and deletes all unnecessary columns from the query).

View File

@ -1,4 +1,4 @@
# Aggregate function combinators {#aggregate-functions-combinators}
# Aggregate function combinators {#aggregate_functions_combinators}
The name of an aggregate function can have a suffix appended to it. This changes the way the aggregate function works.
@ -32,11 +32,11 @@ To work with these states, use:
- [-Merge](#aggregate_functions_combinators_merge) combinator.
- [-MergeState](#aggregate_functions_combinators_mergestate) combinator.
## -Merge {#aggregate-functions-combinators-merge}
## -Merge {#aggregate_functions_combinators-merge}
If you apply this combinator, the aggregate function takes the intermediate aggregation state as an argument, combines the states to finish aggregation, and returns the resulting value.
## -MergeState {#aggregate-functions-combinators-mergestate}
## -MergeState {#aggregate_functions_combinators-mergestate}
Merges the intermediate aggregation states in the same way as the -Merge combinator. However, it doesnt return the resulting value, but an intermediate aggregation state, similar to the -State combinator.

View File

@ -1,4 +1,4 @@
# Parametric aggregate functions {#aggregate-functions-parametric}
# Parametric aggregate functions {#aggregate_functions_parametric}
Some aggregate functions can accept not only argument columns (used for compression), but a set of parameters constants for initialization. The syntax is two pairs of brackets instead of one. The first is for parameters, and the second is for arguments.

View File

@ -1,6 +1,6 @@
# Function Reference {#function-reference}
## count {#agg-function-count}
## count {#agg_function-count}
Counts the number of rows or not-NULL values.
@ -66,7 +66,7 @@ SELECT count(DISTINCT num) FROM t
This example shows that `count(DISTINCT num)` is performed by the `uniqExact` function according to the `count_distinct_implementation` setting value.
## any(x) {#agg-function-any}
## any(x) {#agg_function-any}
Selects the first encountered value.
The query can be executed in any order and even in a different order each time, so the result of this function is indeterminate.
@ -278,11 +278,11 @@ num
3
```
## min(x) {#agg-function-min}
## min(x) {#agg_function-min}
Calculates the minimum.
## max(x) {#agg-function-max}
## max(x) {#agg_function-max}
Calculates the maximum.
@ -314,7 +314,7 @@ SELECT argMin(user, salary) FROM salary
Calculates the arg value for a maximum val value. If there are several different values of arg for maximum values of val, the first of these values encountered is output.
## sum(x) {#agg-function-sum}
## sum(x) {#agg_function-sum}
Calculates the sum.
Only works for numbers.
@ -325,7 +325,7 @@ Computes the sum of the numbers, using the same data type for the result as for
Only works for numbers.
## sumMap(key, value) {#agg-functions-summap}
## sumMap(key, value) {#agg_functions-summap}
Totals the value array according to the keys specified in the key array.
The number of elements in key and value must be the same for each row that is totaled.
@ -516,13 +516,13 @@ Use this function, the result above case will be:
[(2,0),(3,0.1),(7,0.3),(8,0.3),(12,0.3),(17,0.3),(18,0.3),(24,0.3),(25,0.1)]
```
## avg(x) {#agg-function-avg}
## avg(x) {#agg_function-avg}
Calculates the average.
Only works for numbers.
The result is always Float64.
## uniq {#agg-function-uniq}
## uniq {#agg_function-uniq}
Calculates the approximate number of different values of the argument.
@ -559,7 +559,7 @@ We recommend using this function in almost all scenarios.
- [uniqHLL12](#agg_function-uniqhll12)
- [uniqExact](#agg_function-uniqexact)
## uniqCombined {#agg-function-uniqcombined}
## uniqCombined {#agg_function-uniqcombined}
Calculates the approximate number of different argument values.
@ -607,11 +607,11 @@ Compared to the [uniq](#agg_function-uniq) function, the `uniqCombined`:
- [uniqHLL12](#agg_function-uniqhll12)
- [uniqExact](#agg_function-uniqexact)
## uniqCombined64 {#agg-function-uniqcombined64}
## uniqCombined64 {#agg_function-uniqcombined64}
Same as [uniqCombined](#agg_function-uniqcombined), but uses 64-bit hash for all data types.
## uniqHLL12 {#agg-function-uniqhll12}
## uniqHLL12 {#agg_function-uniqhll12}
Calculates the approximate number of different argument values, using the [HyperLogLog](https://en.wikipedia.org/wiki/HyperLogLog) algorithm.
@ -647,7 +647,7 @@ We dont recommend using this function. In most cases, use the [uniq](#agg_fun
- [uniqCombined](#agg_function-uniqcombined)
- [uniqExact](#agg_function-uniqexact)
## uniqExact {#agg-function-uniqexact}
## uniqExact {#agg_function-uniqexact}
Calculates the exact number of different argument values.
@ -669,7 +669,7 @@ The function takes a variable number of parameters. Parameters can be `Tuple`, `
- [uniqCombined](#agg_function-uniqcombined)
- [uniqHLL12](#agg_function-uniqhll12)
## groupArray(x), groupArray(max\_size)(x) {#agg-function-grouparray}
## groupArray(x), groupArray(max\_size)(x) {#agg_function-grouparray}
Creates an array of argument values.
Values can be added to the array in any (indeterminate) order.
@ -693,7 +693,7 @@ Optional parameters:
- The default value for substituting in empty positions.
- The length of the resulting array. This allows you to receive arrays of the same size for all the aggregate keys. When using this parameter, the default value must be specified.
## groupArrayMovingSum {#agg-function-grouparraymovingsum}
## groupArrayMovingSum {#agg_function-grouparraymovingsum}
Calculates the moving sum of input values.
@ -766,7 +766,7 @@ FROM t
└────────────┴─────────────────────────────────┴────────────────────────┘
```
## groupArrayMovingAvg {#agg-function-grouparraymovingavg}
## groupArrayMovingAvg {#agg_function-grouparraymovingavg}
Calculates the moving average of input values.
@ -1574,11 +1574,11 @@ SELECT arrayReduce('simpleLinearRegression', [0, 1, 2, 3], [3, 4, 5, 6])
└───────────────────────────────────────────────────────────────────┘
```
## stochasticLinearRegression {#agg-functions-stochasticlinearregression}
## stochasticLinearRegression {#agg_functions-stochasticlinearregression}
This function implements stochastic linear regression. It supports custom parameters for learning rate, L2 regularization coefficient, mini-batch size and has few methods for updating weights ([Adam](https://en.wikipedia.org/wiki/Stochastic_gradient_descent#Adam) (used by default), [simple SGD](https://en.wikipedia.org/wiki/Stochastic_gradient_descent), [Momentum](https://en.wikipedia.org/wiki/Stochastic_gradient_descent#Momentum), [Nesterov](https://mipt.ru/upload/medialibrary/d7e/41-91.pdf)).
### Parameters {#agg-functions-stochasticlinearregression-parameters}
### Parameters {#agg_functions-stochasticlinearregression-parameters}
There are 4 customizable parameters. They are passed to the function sequentially, but there is no need to pass all four - default values will be used, however good model required some parameter tuning.
@ -1591,7 +1591,7 @@ stochasticLinearRegression(1.0, 1.0, 10, 'SGD')
3. `mini-batch size` sets the number of elements, which gradients will be computed and summed to perform one step of gradient descent. Pure stochastic descent uses one element, however having small batches(about 10 elements) make gradient steps more stable. Default is `15`.
4. `method for updating weights`, they are: `Adam` (by default), `SGD`, `Momentum`, `Nesterov`. `Momentum` and `Nesterov` require little bit more computations and memory, however they happen to be useful in terms of speed of convergance and stability of stochastic gradient methods.
### Usage {#agg-functions-stochasticlinearregression-usage}
### Usage {#agg_functions-stochasticlinearregression-usage}
`stochasticLinearRegression` is used in two steps: fitting the model and predicting on new data. In order to fit the model and save its state for later usage we use `-State` combinator, which basically saves the state (model weights, etc).
To predict we use function [evalMLMethod](../functions/machine_learning_functions.md#machine_learning_methods-evalmlmethod), which takes a state as an argument as well as features to predict on.
@ -1631,7 +1631,7 @@ The query will return a column of predicted values. Note that first argument of
`test_data` is a table like `train_data` but may not contain target value.
### Notes {#agg-functions-stochasticlinearregression-notes}
### Notes {#agg_functions-stochasticlinearregression-notes}
1. To merge two models user may create such query:
`sql SELECT state1 + state2 FROM your_models`
@ -1646,11 +1646,11 @@ The query will return a column of predicted values. Note that first argument of
- [stochasticLogisticRegression](#agg_functions-stochasticlogisticregression)
- [Difference between linear and logistic regressions](https://stackoverflow.com/questions/12146914/what-is-the-difference-between-linear-regression-and-logistic-regression)
## stochasticLogisticRegression {#agg-functions-stochasticlogisticregression}
## stochasticLogisticRegression {#agg_functions-stochasticlogisticregression}
This function implements stochastic logistic regression. It can be used for binary classification problem, supports the same custom parameters as stochasticLinearRegression and works the same way.
### Parameters {#agg-functions-stochasticlogisticregression-parameters}
### Parameters {#agg_functions-stochasticlogisticregression-parameters}
Parameters are exactly the same as in stochasticLinearRegression:
`learning rate`, `l2 regularization coefficient`, `mini-batch size`, `method for updating weights`.

View File

@ -1,4 +1,4 @@
## ALTER {#query-language-queries-alter}
## ALTER {#query_language_queries_alter}
The `ALTER` query is only supported for `*MergeTree` tables, as well as `Merge`and`Distributed`. The query has several variations.
@ -23,7 +23,7 @@ The following actions are supported:
These actions are described in detail below.
#### ADD COLUMN {#alter-add-column}
#### ADD COLUMN {#alter_add-column}
``` sql
ADD COLUMN [IF NOT EXISTS] name [type] [default_expr] [codec] [AFTER name_after]
@ -43,7 +43,7 @@ Example:
ALTER TABLE visits ADD COLUMN browser String AFTER user_id
```
#### DROP COLUMN {#alter-drop-column}
#### DROP COLUMN {#alter_drop-column}
``` sql
DROP COLUMN [IF EXISTS] name
@ -59,7 +59,7 @@ Example:
ALTER TABLE visits DROP COLUMN browser
```
#### CLEAR COLUMN {#alter-clear-column}
#### CLEAR COLUMN {#alter_clear-column}
``` sql
CLEAR COLUMN [IF EXISTS] name IN PARTITION partition_name
@ -75,7 +75,7 @@ Example:
ALTER TABLE visits CLEAR COLUMN browser IN PARTITION tuple()
```
#### COMMENT COLUMN {#alter-comment-column}
#### COMMENT COLUMN {#alter_comment-column}
``` sql
COMMENT COLUMN [IF EXISTS] name 'comment'
@ -93,7 +93,7 @@ Example:
ALTER TABLE visits COMMENT COLUMN browser 'The table shows the browser used for accessing the site.'
```
#### MODIFY COLUMN {#alter-modify-column}
#### MODIFY COLUMN {#alter_modify-column}
``` sql
MODIFY COLUMN [IF EXISTS] name [type] [default_expr] [TTL]
@ -192,7 +192,7 @@ Constraint check *will not be executed* on existing data if it was added.
All changes on replicated tables are broadcasting to ZooKeeper so will be applied on other replicas.
### Manipulations With Partitions and Parts {#alter-manipulations-with-partitions}
### Manipulations With Partitions and Parts {#alter_manipulations-with-partitions}
The following operations with [partitions](../operations/table_engines/custom_partitioning_key.md) are available:
@ -231,7 +231,7 @@ After the query is executed, you can do whatever you want with the data in the `
This query is replicated it moves the data to the `detached` directory on all replicas. Note that you can execute this query only on a leader replica. To find out if a replica is a leader, perform the `SELECT` query to the [system.replicas](../operations/system_tables.md#system_tables-replicas) table. Alternatively, it is easier to make a `DETACH` query on all replicas - all the replicas throw an exception, except the leader replica.
#### DROP PARTITION {#alter-drop-partition}
#### DROP PARTITION {#alter_drop-partition}
``` sql
ALTER TABLE table_name DROP PARTITION partition_expr
@ -243,7 +243,7 @@ Read about setting the partition expression in a section [How to specify the par
The query is replicated it deletes data on all replicas.
#### DROP DETACHED PARTITION\|PART {#alter-drop-detached}
#### DROP DETACHED PARTITION\|PART {#alter_drop-detached}
``` sql
ALTER TABLE table_name DROP DETACHED PARTITION|PART partition_expr
@ -252,7 +252,7 @@ ALTER TABLE table_name DROP DETACHED PARTITION|PART partition_expr
Removes the specified part or all parts of the specified partition from `detached`.
Read more about setting the partition expression in a section [How to specify the partition expression](#alter-how-to-specify-part-expr).
#### ATTACH PARTITION\|PART {#alter-attach-partition}
#### ATTACH PARTITION\|PART {#alter_attach-partition}
``` sql
ALTER TABLE table_name ATTACH PARTITION|PART partition_expr
@ -271,7 +271,7 @@ This query is replicated. The replica-initiator checks whether there is data in
So you can put data to the `detached` directory on one replica, and use the `ALTER ... ATTACH` query to add it to the table on all replicas.
#### ATTACH PARTITION FROM {#alter-attach-partition-from}
#### ATTACH PARTITION FROM {#alter_attach-partition-from}
``` sql
ALTER TABLE table2 ATTACH PARTITION partition_expr FROM table1
@ -284,7 +284,7 @@ For the query to run successfully, the following conditions must be met:
- Both tables must have the same structure.
- Both tables must have the same partition key.
#### REPLACE PARTITION {#alter-replace-partition}
#### REPLACE PARTITION {#alter_replace-partition}
``` sql
ALTER TABLE table2 REPLACE PARTITION partition_expr FROM table1
@ -297,7 +297,7 @@ For the query to run successfully, the following conditions must be met:
- Both tables must have the same structure.
- Both tables must have the same partition key.
#### MOVE PARTITION TO TABLE {#alter-move-to-table-partition}
#### MOVE PARTITION TO TABLE {#alter_move_to_table-partition}
``` sql
ALTER TABLE table_source MOVE PARTITION partition_expr TO TABLE table_dest
@ -312,7 +312,7 @@ For the query to run successfully, the following conditions must be met:
- Both tables must be the same engine family. (replicated or non-replicated)
- Both tables must have the same storage policy.
#### CLEAR COLUMN IN PARTITION {#alter-clear-column-partition}
#### CLEAR COLUMN IN PARTITION {#alter_clear-column-partition}
``` sql
ALTER TABLE table_name CLEAR COLUMN column_name IN PARTITION partition_expr
@ -326,7 +326,7 @@ Example:
ALTER TABLE visits CLEAR COLUMN hour in PARTITION 201902
```
#### FREEZE PARTITION {#alter-freeze-partition}
#### FREEZE PARTITION {#alter_freeze-partition}
``` sql
ALTER TABLE table_name FREEZE [PARTITION partition_expr]
@ -365,7 +365,7 @@ Restoring from a backup doesnt require stopping the server.
For more information about backups and restoring data, see the [Data Backup](../operations/backup.md) section.
#### CLEAR INDEX IN PARTITION {#alter-clear-index-partition}
#### CLEAR INDEX IN PARTITION {#alter_clear-index-partition}
``` sql
ALTER TABLE table_name CLEAR INDEX index_name IN PARTITION partition_expr
@ -373,7 +373,7 @@ ALTER TABLE table_name CLEAR INDEX index_name IN PARTITION partition_expr
The query works similar to `CLEAR COLUMN`, but it resets an index instead of a column data.
#### FETCH PARTITION {#alter-fetch-partition}
#### FETCH PARTITION {#alter_fetch-partition}
``` sql
ALTER TABLE table_name FETCH PARTITION partition_expr FROM 'path-in-zookeeper'
@ -402,7 +402,7 @@ Before downloading, the system checks if the partition exists and the table stru
Although the query is called `ALTER TABLE`, it does not change the table structure and does not immediately change the data available in the table.
#### MOVE PARTITION\|PART {#alter-move-partition}
#### MOVE PARTITION\|PART {#alter_move-partition}
Moves partitions or data parts to another volume or disk for `MergeTree`-engine tables. See [Using Multiple Block Devices for Data Storage](../operations/table_engines/mergetree.md#table_engine-mergetree-multiple-volumes).

View File

@ -78,7 +78,7 @@ or
LAYOUT(FLAT())
```
### hashed {#dicts-external-dicts-dict-layout-hashed}
### hashed {#dicts-external_dicts_dict_layout-hashed}
The dictionary is completely stored in memory in the form of a hash table. The dictionary can contain any number of elements with any identifiers In practice, the number of keys can reach tens of millions of items.
@ -98,7 +98,7 @@ or
LAYOUT(HASHED())
```
### sparse\_hashed {#dicts-external-dicts-dict-layout-sparse-hashed}
### sparse\_hashed {#dicts-external_dicts_dict_layout-sparse_hashed}
Similar to `hashed`, but uses less memory in favor more CPU usage.

View File

@ -42,7 +42,7 @@ Types of sources (`source_type`):
- [MongoDB](#dicts-external_dicts_dict_sources-mongodb)
- [Redis](#dicts-external_dicts_dict_sources-redis)
## Local File {#dicts-external-dicts-dict-sources-local-file}
## Local File {#dicts-external_dicts_dict_sources-local_file}
Example of settings:
@ -66,7 +66,7 @@ Setting fields:
- `path` The absolute path to the file.
- `format` The file format. All the formats described in “[Formats](../../interfaces/formats.md#formats)” are supported.
## Executable File {#dicts-external-dicts-dict-sources-executable}
## Executable File {#dicts-external_dicts_dict_sources-executable}
Working with executable files depends on [how the dictionary is stored in memory](external_dicts_dict_layout.md). If the dictionary is stored using `cache` and `complex_key_cache`, ClickHouse requests the necessary keys by sending a request to the executable files STDIN. Otherwise, ClickHouse starts executable file and treats its output as dictionary data.
@ -92,7 +92,7 @@ Setting fields:
- `command` The absolute path to the executable file, or the file name (if the program directory is written to `PATH`).
- `format` The file format. All the formats described in “[Formats](../../interfaces/formats.md#formats)” are supported.
## HTTP(s) {#dicts-external-dicts-dict-sources-http}
## HTTP(s) {#dicts-external_dicts_dict_sources-http}
Working with an HTTP(s) server depends on [how the dictionary is stored in memory](external_dicts_dict_layout.md). If the dictionary is stored using `cache` and `complex_key_cache`, ClickHouse requests the necessary keys by sending a request via the `POST` method.
@ -142,7 +142,7 @@ Setting fields:
- `name` Identifiant name used for the header send on the request.
- `value` Value set for a specific identifiant name.
## ODBC {#dicts-external-dicts-dict-sources-odbc}
## ODBC {#dicts-external_dicts_dict_sources-odbc}
You can use this method to connect any database that has an ODBC driver.
@ -386,7 +386,7 @@ LIFETIME(MIN 300 MAX 360)
## DBMS {#dbms}
### MySQL {#dicts-external-dicts-dict-sources-mysql}
### MySQL {#dicts-external_dicts_dict_sources-mysql}
Example of settings:
@ -483,7 +483,7 @@ SOURCE(MYSQL(
))
```
### ClickHouse {#dicts-external-dicts-dict-sources-clickhouse}
### ClickHouse {#dicts-external_dicts_dict_sources-clickhouse}
Example of settings:
@ -526,7 +526,7 @@ Setting fields:
- `where` The selection criteria. May be omitted.
- `invalidate_query` Query for checking the dictionary status. Optional parameter. Read more in the section [Updating dictionaries](external_dicts_dict_lifetime.md).
### MongoDB {#dicts-external-dicts-dict-sources-mongodb}
### MongoDB {#dicts-external_dicts_dict_sources-mongodb}
Example of settings:
@ -565,7 +565,7 @@ Setting fields:
- `db` Name of the database.
- `collection` Name of the collection.
### Redis {#dicts-external-dicts-dict-sources-redis}
### Redis {#dicts-external_dicts_dict_sources-redis}
Example of settings:

View File

@ -42,7 +42,7 @@ Attributes are described in the query body:
- `PRIMARY KEY` — [Key column](external_dicts_dict_structure.md#ext_dict_structure-key)
- `AttrName AttrType` — [Data column](external_dicts_dict_structure.md#ext_dict_structure-attributes). There can be a multiple number of attributes.
## Key {#ext-dict-structure-key}
## Key {#ext_dict_structure-key}
ClickHouse supports the following types of keys:
@ -54,7 +54,7 @@ An xml structure can contain either `<id>` or `<key>`. DDL-query must contain si
!!! warning "Warning"
You must not describe key as an attribute.
### Numeric Key {#ext-dict-numeric-key}
### Numeric Key {#ext_dict-numeric-key}
Type: `UInt64`.
@ -122,7 +122,7 @@ PRIMARY KEY field1, field2
For a query to the `dictGet*` function, a tuple is passed as the key. Example: `dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2))`.
## Attributes {#ext-dict-structure-attributes}
## Attributes {#ext_dict_structure-attributes}
Configuration example:

View File

@ -1,4 +1,4 @@
# Internal dictionaries {#internal-dicts}
# Internal dictionaries {#internal_dicts}
ClickHouse contains a built-in feature for working with a geobase.

View File

@ -63,7 +63,7 @@ Differs from modulo in that it returns zero when the divisor is zero.
Calculates a number with the reverse sign. The result is always signed.
## abs(a) {#arithm-func-abs}
## abs(a) {#arithm_func-abs}
Calculates the absolute value of the number (a). That is, if a \< 0, it returns -a. For unsigned types it doesnt do anything. For signed integer types, it returns an unsigned number.

View File

@ -12,7 +12,7 @@ Returns 0 for an empty array, or 1 for a non-empty array.
The result type is UInt8.
The function also works for strings.
## length {#array-functions-length}
## length {#array_functions-length}
Returns the number of items in the array.
The result type is UInt64.
@ -208,7 +208,7 @@ SELECT countEqual([1, 2, NULL, NULL], NULL)
└──────────────────────────────────────┘
```
## arrayEnumerate(arr) {#array-functions-arrayenumerate}
## arrayEnumerate(arr) {#array_functions-arrayenumerate}
Returns the array \[1, 2, 3, …, length (arr) \]
@ -472,7 +472,7 @@ SELECT arraySlice([1, 2, NULL, 4, 5], 2, 3) AS res
Array elements set to `NULL` are handled as normal values.
## arraySort(\[func,\] arr, …) {#array-functions-sort}
## arraySort(\[func,\] arr, …) {#array_functions-sort}
Sorts the elements of the `arr` array in ascending order. If the `func` function is specified, sorting order is determined by the result of the `func` function applied to the elements of the array. If `func` accepts multiple arguments, the `arraySort` function is passed several arrays that the arguments of `func` will correspond to. Detailed examples are shown at the end of `arraySort` description.
@ -572,7 +572,7 @@ SELECT arraySort((x, y) -> -y, [0, 1, 2], [1, 2, 3]) as res;
!!! note "Note"
To improve sorting efficiency, the [Schwartzian transform](https://en.wikipedia.org/wiki/Schwartzian_transform) is used.
## arrayReverseSort(\[func,\] arr, …) {#array-functions-reverse-sort}
## arrayReverseSort(\[func,\] arr, …) {#array_functions-reverse-sort}
Sorts the elements of the `arr` array in descending order. If the `func` function is specified, `arr` is sorted according to the result of the `func` function applied to the elements of the array, and then the sorted array is reversed. If `func` accepts multiple arguments, the `arrayReverseSort` function is passed several arrays that the arguments of `func` will correspond to. Detailed examples are shown at the end of `arrayReverseSort` description.
@ -770,7 +770,7 @@ Result:
└────────────────────────────────┘
```
## arrayEnumerateDense(arr) {#array-functions-arrayenumeratedense}
## arrayEnumerateDense(arr) {#array_functions-arrayenumeratedense}
Returns an array of the same size as the source array, indicating where each element first appears in the source array.
@ -846,7 +846,7 @@ SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
└─────────────────────────────────────────────────────────────┘
```
## arrayReverse(arr) {#array-functions-arrayreverse}
## arrayReverse(arr) {#array_functions-arrayreverse}
Returns an array of the same size as the original array containing the elements in reverse order.

View File

@ -1,4 +1,4 @@
# arrayJoin function {#functions-arrayjoin}
# arrayJoin function {#functions_arrayjoin}
This is a very unusual function.

View File

@ -8,7 +8,7 @@ RoaringBitmap is wrapped into a data structure while actual storage of Bitmap ob
For more information on RoaringBitmap, see: [CRoaring](https://github.com/RoaringBitmap/CRoaring).
## bitmapBuild {#bitmap-functions-bitmapbuild}
## bitmapBuild {#bitmap_functions-bitmapbuild}
Build a bitmap from unsigned integer array.
@ -120,7 +120,7 @@ Result:
└───────────────────────────┘
```
## bitmapContains {#bitmap-functions-bitmapcontains}
## bitmapContains {#bitmap_functions-bitmapcontains}
Checks whether the bitmap contains an element.

View File

@ -1,4 +1,4 @@
# Functions for Working with External Dictionaries {#ext-dict-functions}
# Functions for Working with External Dictionaries {#ext_dict_functions}
For information on connecting and configuring external dictionaries, see [External dictionaries](../dicts/external_dicts.md).
@ -154,7 +154,7 @@ dictIsIn('dict_name', child_id_expr, ancestor_id_expr)
Type: `UInt8`.
## Other functions {#ext-dict-functions-other}
## Other functions {#ext_dict_functions-other}
ClickHouse supports specialized functions that convert dictionary attribute values to a specific data type regardless of the dictionary configuration.

View File

@ -33,13 +33,13 @@ SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')
└────────────────────┴────────┘
```
## MD5 {#hash-functions-md5}
## MD5 {#hash_functions-md5}
Calculates the MD5 from a string and returns the resulting set of bytes as FixedString(16).
If you dont need MD5 in particular, but you need a decent cryptographic 128-bit hash, use the sipHash128 function instead.
If you want to get the same result as output by the md5sum utility, use lower(hex(MD5(s))).
## sipHash64 {#hash-functions-siphash64}
## sipHash64 {#hash_functions-siphash64}
Produces a 64-bit [SipHash](https://131002.net/siphash/) hash value.
@ -76,7 +76,7 @@ SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00
└──────────────────────┴────────┘
```
## sipHash128 {#hash-functions-siphash128}
## sipHash128 {#hash_functions-siphash128}
Calculates SipHash from a string.
Accepts a String-type argument. Returns FixedString(16).
@ -178,7 +178,7 @@ SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:0
└──────────────────────┴────────┘
```
## javaHash {#hash-functions-javahash}
## javaHash {#hash_functions-javahash}
Calculates [JavaHash](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add975b/src/share/classes/java/lang/String.java#l1452) from a string. This hash function is neither fast nor having a good quality. The only reason to use it is when this algorithm is already used in another system and you have to calculate exactly the same result.

View File

@ -23,7 +23,7 @@ A lambda function cant be omitted for the following functions:
- [arrayFirst](#higher_order_functions-array-first)
- [arrayFirstIndex](#higher_order_functions-array-first-index)
### arrayMap(func, arr1, …) {#higher-order-functions-array-map}
### arrayMap(func, arr1, …) {#higher_order_functions-array-map}
Returns an array obtained from the original application of the `func` function to each element in the `arr` array.
@ -53,7 +53,7 @@ SELECT arrayMap((x, y) -> (x, y), [1, 2, 3], [4, 5, 6]) AS res
Note that the first argument (lambda function) cant be omitted in the `arrayMap` function.
### arrayFilter(func, arr1, …) {#higher-order-functions-array-filter}
### arrayFilter(func, arr1, …) {#higher_order_functions-array-filter}
Returns an array containing only the elements in `arr1` for which `func` returns something other than 0.
@ -86,7 +86,7 @@ SELECT
Note that the first argument (lambda function) cant be omitted in the `arrayFilter` function.
### arrayFill(func, arr1, …) {#higher-order-functions-array-fill}
### arrayFill(func, arr1, …) {#higher_order_functions-array-fill}
Scan through `arr1` from the first element to the last element and replace `arr1[i]` by `arr1[i - 1]` if `func` returns 0. The first element of `arr1` will not be replaced.
@ -104,7 +104,7 @@ SELECT arrayFill(x -> not isNull(x), [1, null, 3, 11, 12, null, null, 5, 6, 14,
Note that the first argument (lambda function) cant be omitted in the `arrayFill` function.
### arrayReverseFill(func, arr1, …) {#higher-order-functions-array-reverse-fill}
### arrayReverseFill(func, arr1, …) {#higher_order_functions-array-reverse-fill}
Scan through `arr1` from the last element to the first element and replace `arr1[i]` by `arr1[i + 1]` if `func` returns 0. The last element of `arr1` will not be replaced.
@ -122,7 +122,7 @@ SELECT arrayReverseFill(x -> not isNull(x), [1, null, 3, 11, 12, null, null, 5,
Note that the first argument (lambda function) cant be omitted in the `arrayReverseFill` function.
### arraySplit(func, arr1, …) {#higher-order-functions-array-split}
### arraySplit(func, arr1, …) {#higher_order_functions-array-split}
Split `arr1` into multiple arrays. When `func` returns something other than 0, the array will be split on the left hand side of the element. The array will not be split before the first element.
@ -140,7 +140,7 @@ SELECT arraySplit((x, y) -> y, [1, 2, 3, 4, 5], [1, 0, 0, 1, 0]) AS res
Note that the first argument (lambda function) cant be omitted in the `arraySplit` function.
### arrayReverseSplit(func, arr1, …) {#higher-order-functions-array-reverse-split}
### arrayReverseSplit(func, arr1, …) {#higher_order_functions-array-reverse-split}
Split `arr1` into multiple arrays. When `func` returns something other than 0, the array will be split on the right hand side of the element. The array will not be split after the last element.
@ -158,7 +158,7 @@ SELECT arrayReverseSplit((x, y) -> y, [1, 2, 3, 4, 5], [1, 0, 0, 1, 0]) AS res
Note that the first argument (lambda function) cant be omitted in the `arraySplit` function.
### arrayCount(\[func,\] arr1, …) {#higher-order-functions-array-count}
### arrayCount(\[func,\] arr1, …) {#higher_order_functions-array-count}
Returns the number of elements in the arr array for which func returns something other than 0. If func is not specified, it returns the number of non-zero elements in the array.
@ -174,13 +174,13 @@ Returns 1 if func returns something other than 0 for all the elements in
Returns the sum of the func values. If the function is omitted, it just returns the sum of the array elements.
### arrayFirst(func, arr1, …) {#higher-order-functions-array-first}
### arrayFirst(func, arr1, …) {#higher_order_functions-array-first}
Returns the first element in the arr1 array for which func returns something other than 0.
Note that the first argument (lambda function) cant be omitted in the `arrayFirst` function.
### arrayFirstIndex(func, arr1, …) {#higher-order-functions-array-first-index}
### arrayFirstIndex(func, arr1, …) {#higher_order_functions-array-first-index}
Returns the index of the first element in the arr1 array for which func returns something other than 0.

View File

@ -1,6 +1,6 @@
# Machine learning functions {#machine-learning-functions}
## evalMLMethod (prediction) {#machine-learning-methods-evalmlmethod}
## evalMLMethod (prediction) {#machine_learning_methods-evalmlmethod}
Prediction using fitted regression models uses `evalMLMethod` function. See link in `linearRegression`.

View File

@ -527,7 +527,7 @@ Result:
└────────────┴───────┴───────────┴────────────────┘
```
## runningDifference(x) {#other-functions-runningdifference}
## runningDifference(x) {#other_functions-runningdifference}
Calculates the difference between successive row values in the data block.
Returns 0 for the first row and the difference from the previous row for each subsequent row.

View File

@ -20,7 +20,7 @@ Returns the smallest round number that is greater than or equal to `x`. In every
Returns the round number with largest absolute value that has an absolute value less than or equal to `x`s. In every other way, it is the same as the floor function (see above).
## round(x\[, N\]) {#rounding-functions-round}
## round(x\[, N\]) {#rounding_functions-round}
Rounds a value to a specified number of decimal places.

View File

@ -259,7 +259,7 @@ Result:
└───────────────────────────────────────────────────────────────────┘
```
## multiSearchAllPositionsUTF8 {#multisearchallpositionsutf8}
## multiSearchAllPositionsUTF8 {#multiSearchAllPositionsUTF8}
See `multiSearchAllPositions`.

View File

@ -304,7 +304,7 @@ SELECT toFixedString('foo\0bar', 8) AS s, toStringCutToZero(s) AS s_cut
These functions accept a string and interpret the bytes placed at the beginning of the string as a number in host order (little endian). If the string isnt long enough, the functions work as if the string is padded with the necessary number of null bytes. If the string is longer than needed, the extra bytes are ignored. A date is interpreted as the number of days since the beginning of the Unix Epoch, and a date with time is interpreted as the number of seconds since the beginning of the Unix Epoch.
## reinterpretAsString {#type-conversion-functions-reinterpretasstring}
## reinterpretAsString {#type_conversion_functions-reinterpretAsString}
This function accepts a number or date or date with time, and returns a string containing bytes representing the corresponding value in host order (little endian). Null bytes are dropped from the end. For example, a UInt32 type value of 255 is a string that is one byte long.
@ -312,7 +312,7 @@ This function accepts a number or date or date with time, and returns a string c
This function accepts a number or date or date with time, and returns a FixedString containing bytes representing the corresponding value in host order (little endian). Null bytes are dropped from the end. For example, a UInt32 type value of 255 is a FixedString that is one byte long.
## CAST(x, t) {#type-conversion-function-cast}
## CAST(x, t) {#type_conversion_function-cast}
Converts x to the t data type. The syntax CAST(x AS t) is also supported.
@ -402,7 +402,7 @@ SELECT
└───────────────────────────┴──────────────────────────────┘
```
## parseDateTimeBestEffort {#type-conversion-functions-parsedatetimebesteffort}
## parseDateTimeBestEffort {#type_conversion_functions-parsedatetimebesteffort}
Parse a number type argument to a Date or DateTime type.
different from toDate and toDateTime, parseDateTimeBestEffort can progress more complex date format.

View File

@ -43,7 +43,7 @@ You can insert data separately from the query by using the command-line client o
If table has [constraints](create.md#constraints), their expressions will be checked for each row of inserted data. If any of those constraints is not satisfied — server will raise an exception containing constraint name and expression, the query will be stopped.
### Inserting The Results of `SELECT` {#insert-query-insert-select}
### Inserting The Results of `SELECT` {#insert_query_insert-select}
``` sql
INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...

View File

@ -176,7 +176,7 @@ The query is useful when a mutation is stuck and cannot finish (e.g. if some fu
Changes already made by the mutation are not rolled back.
## OPTIMIZE {#misc-operations-optimize}
## OPTIMIZE {#misc_operations-optimize}
``` sql
OPTIMIZE TABLE [db.]name [ON CLUSTER cluster] [PARTITION partition | PARTITION ID 'partition_id'] [FINAL] [DEDUPLICATE]
@ -196,7 +196,7 @@ When `OPTIMIZE` is used with the [ReplicatedMergeTree](../operations/table_engin
!!! warning "Warning"
`OPTIMIZE` cant fix the “Too many parts” error.
## RENAME {#misc-operations-rename}
## RENAME {#misc_operations-rename}
Renames one or more tables.

View File

@ -185,7 +185,7 @@ Note:
The conditional operator calculates the values of b and c, then checks whether condition a is met, and then returns the corresponding value. If `b` or `C` is an [arrayJoin()](functions/array_join.md#functions_arrayjoin) function, each row will be replicated regardless of the “a” condition.
## Conditional Expression {#operator-case}
## Conditional Expression {#operator_case}
``` sql
CASE [x]

View File

@ -108,11 +108,11 @@ There are regular and aggregate functions (see the section “Aggregate function
Operators are converted to their corresponding functions during query parsing, taking their priority and associativity into account.
For example, the expression `1 + 2 * 3 + 4` is transformed to `plus(plus(1, multiply(2, 3)), 4)`.
## Data Types and Database Table Engines {#data-types-and-database-table-engines}
## Data Types and Database Table Engines {#data_types-and-database-table-engines}
Data types and table engines in the `CREATE` query are written the same way as identifiers or functions. In other words, they may or may not contain an arguments list in brackets. For more information, see the sections “Data types,” “Table engines,” and “CREATE”.
## Expression Aliases {#syntax-expression-aliases}
## Expression Aliases {#syntax-expression_aliases}
An alias is a user-defined name for an expression in a query.

View File

@ -14,13 +14,13 @@
- [STOP MERGES](#query_language-system-stop-merges)
- [START MERGES](#query_language-system-start-merges)
## RELOAD DICTIONARIES {#query-language-system-reload-dictionaries}
## RELOAD DICTIONARIES {#query_language-system-reload-dictionaries}
Reloads all dictionaries that have been successfully loaded before.
By default, dictionaries are loaded lazily (see [dictionaries\_lazy\_load](../operations/server_settings/settings.md#server_settings-dictionaries_lazy_load)), so instead of being loaded automatically at startup, they are initialized on first access through dictGet function or SELECT from tables with ENGINE = Dictionary. The `SYSTEM RELOAD DICTIONARIES` query reloads such dictionaries (LOADED).
Always returns `Ok.` regardless of the result of the dictionary update.
## RELOAD DICTIONARY dictionary\_name {#query-language-system-reload-dictionary}
## RELOAD DICTIONARY dictionary\_name {#query_language-system-reload-dictionary}
Completely reloads a dictionary `dictionary_name`, regardless of the state of the dictionary (LOADED / NOT\_LOADED / FAILED).
Always returns `Ok.` regardless of the result of updating the dictionary.
@ -30,29 +30,29 @@ The status of the dictionary can be checked by querying the `system.dictionaries
SELECT name, status FROM system.dictionaries;
```
## DROP DNS CACHE {#query-language-system-drop-dns-cache}
## DROP DNS CACHE {#query_language-system-drop-dns-cache}
Resets ClickHouses internal DNS cache. Sometimes (for old ClickHouse versions) it is necessary to use this command when changing the infrastructure (changing the IP address of another ClickHouse server or the server used by dictionaries).
For more convenient (automatic) cache management, see disable\_internal\_dns\_cache, dns\_cache\_update\_period parameters.
## DROP MARK CACHE {#query-language-system-drop-mark-cache}
## DROP MARK CACHE {#query_language-system-drop-mark-cache}
Resets the mark cache. Used in development of ClickHouse and performance tests.
## FLUSH LOGS {#query-language-system-flush-logs}
## FLUSH LOGS {#query_language-system-flush_logs}
Flushes buffers of log messages to system tables (e.g. system.query\_log). Allows you to not wait 7.5 seconds when debugging.
## RELOAD CONFIG {#query-language-system-reload-config}
## RELOAD CONFIG {#query_language-system-reload-config}
Reloads ClickHouse configuration. Used when configuration is stored in ZooKeeeper.
## SHUTDOWN {#query-language-system-shutdown}
## SHUTDOWN {#query_language-system-shutdown}
Normally shuts down ClickHouse (like `service clickhouse-server stop` / `kill {$pid_clickhouse-server}`)
## KILL {#query-language-system-kill}
## KILL {#query_language-system-kill}
Aborts ClickHouse process (like `kill -9 {$ pid_clickhouse-server}`)
@ -60,7 +60,7 @@ Aborts ClickHouse process (like `kill -9 {$ pid_clickhouse-server}`)
ClickHouse can manage [distributed](../operations/table_engines/distributed.md) tables. When a user inserts data into these tables, ClickHouse first creates a queue of the data that should be sent to cluster nodes, then asynchronously sends it. You can manage queue processing with the [STOP DISTRIBUTED SENDS](#query_language-system-stop-distributed-sends), [FLUSH DISTRIBUTED](#query_language-system-flush-distributed), and [START DISTRIBUTED SENDS](#query_language-system-start-distributed-sends) queries. You can also synchronously insert distributed data with the `insert_distributed_sync` setting.
### STOP DISTRIBUTED SENDS {#query-language-system-stop-distributed-sends}
### STOP DISTRIBUTED SENDS {#query_language-system-stop-distributed-sends}
Disables background data distribution when inserting data into distributed tables.
@ -68,7 +68,7 @@ Disables background data distribution when inserting data into distributed table
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name>
```
### FLUSH DISTRIBUTED {#query-language-system-flush-distributed}
### FLUSH DISTRIBUTED {#query_language-system-flush-distributed}
Forces ClickHouse to send data to cluster nodes synchronously. If any nodes are unavailable, ClickHouse throws an exception and stops query execution. You can retry the query until it succeeds, which will happen when all nodes are back online.
@ -76,7 +76,7 @@ Forces ClickHouse to send data to cluster nodes synchronously. If any nodes are
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name>
```
### START DISTRIBUTED SENDS {#query-language-system-start-distributed-sends}
### START DISTRIBUTED SENDS {#query_language-system-start-distributed-sends}
Enables background data distribution when inserting data into distributed tables.
@ -84,7 +84,7 @@ Enables background data distribution when inserting data into distributed tables
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name>
```
### STOP MERGES {#query-language-system-stop-merges}
### STOP MERGES {#query_language-system-stop-merges}
Provides possibility to stop background merges for tables in the MergeTree family:
@ -95,7 +95,7 @@ SYSTEM STOP MERGES [[db.]merge_tree_family_table_name]
!!! note "Note"
`DETACH / ATTACH` table will start background merges for the table even in case when merges have been stopped for all MergeTree tables before.
### START MERGES {#query-language-system-start-merges}
### START MERGES {#query_language-system-start-merges}
Provides possibility to start background merges for tables in the MergeTree family:

View File

@ -1,4 +1,4 @@
# FechaHora {#data-type-datetime}
# FechaHora {#data_type-datetime}
Permite almacenar un instante en el tiempo, que se puede expresar como una fecha del calendario y una hora de un día.

View File

@ -1,4 +1,4 @@
# DateTime64 {#data-type-datetime64}
# DateTime64 {#data_type-datetime64}
Permite almacenar un instante en el tiempo, que se puede expresar como una fecha de calendario y una hora de un día, con una precisión de subsegundo definida

View File

@ -29,7 +29,7 @@ SELECT 1 - 0.9
- Los cálculos de puntos flotantes pueden dar como resultado números como el infinito (`Inf`) y “not-a-number” (`NaN`). Esto debe tenerse en cuenta al procesar los resultados de los cálculos.
- Al analizar números de punto flotante a partir de texto, el resultado puede no ser el número representable por máquina más cercano.
## NaN y Inf {#data-type-float-nan-inf}
## NaN y Inf {#data_type-float-nan-inf}
A diferencia de SQL estándar, ClickHouse admite las siguientes categorías de números de punto flotante:

View File

@ -1,4 +1,4 @@
# Tipos de datos {#data-types}
# Tipos de datos {#data_types}
ClickHouse puede almacenar varios tipos de datos en celdas de tabla.

View File

@ -1,4 +1,4 @@
# Nombre de tipo) {#data-type-nullable}
# Nombre de tipo) {#data_type-nullable}
Permite almacenar marcador especial ([NULO](../query_language/syntax.md)) que denota “missing value” con los valores normales permitidos por `TypeName`. Por ejemplo, un `Nullable(Int8)` Tipo columna puede almacenar `Int8` valores de tipo, y las filas que no tienen un valor almacenarán `NULL`.

View File

@ -24,7 +24,7 @@ ENGINE = MySQL('host:port', 'database', 'user', 'password')
- `user` — Usuario de MySQL.
- `password` — Contraseña de usuario.
## Soporte de tipos de datos {#data-types-support}
## Soporte de tipos de datos {#data_types-support}
| MySQL | Haga clic en Casa |
|-----------------------------------|---------------------------------------------|

View File

@ -24,7 +24,7 @@ Sin embargo, también es posible trabajar con valores individuales. Para represe
Varias funciones en columnas se pueden implementar de una manera genérica, no eficiente utilizando `IColumn` para extraer `Field` valores, o de una manera especializada utilizando el conocimiento del diseño de la memoria interna de los datos en un `IColumn` aplicación. Para hacer esto, las funciones se convierten en un `IColumn` escriba y trate con la representación interna directamente. Por ejemplo, `ColumnUInt64` tiene el `getData` método que devuelve una referencia a una matriz interna, luego una rutina separada lee o llena esa matriz directamente. De hecho, tenemos “leaky abstractions” para permitir especializaciones eficientes de varias rutinas.
## Tipos de datos {#data-types}
## Tipos de datos {#data_types}
`IDataType` es responsable de la serialización y deserialización: para leer y escribir fragmentos de columnas o valores individuales en formato binario o de texto. `IDataType` corresponde directamente a los tipos de datos en las tablas. Por ejemplo, heno `DataTypeUInt32`, `DataTypeDateTime`, `DataTypeString` y así sucesivamente.

View File

@ -17,7 +17,7 @@ Las diferentes versiones de cliente y servidor son compatibles entre sí, pero e
ClickHouse client version is older than ClickHouse server. It may lack support for new features.
## Uso {#cli-usage}
## Uso {#cli_usage}
El cliente se puede utilizar en modo interactivo y no interactivo (por lotes). Para utilizar el modo por lotes, especifique el query parámetro, o enviar datos a stdin (verifica que stdin no es un terminal), o ambos. Similar a la interfaz HTTP, cuando se utiliza el query parámetro y el envío de datos a stdin la solicitud es una concatenación de la query parámetro, un avance de línea y los datos en stdin. Esto es conveniente para grandes consultas INSERT.
@ -90,7 +90,7 @@ Formatee una consulta como de costumbre, luego coloque los valores que desea pas
$ clickhouse-client --param_tuple_in_tuple="(10, ('dt', 10))" -q "SELECT * FROM table WHERE val = {tuple_in_tuple:Tuple(UInt8, Tuple(String, UInt8))}"
```
## Configuración {#interfaces-cli-configuration}
## Configuración {#interfaces_cli_configuration}
Puede pasar parámetros a `clickhouse-client` (todos los parámetros tienen un valor predeterminado) usando:
@ -120,7 +120,7 @@ Puede pasar parámetros a `clickhouse-client` (todos los parámetros tienen un v
- `--secure` If specified, will connect to server over secure connection.
- `--param_<name>` — Value for a [consulta con parámetros](#cli-queries-with-parameters).
### Archivos de configuración {#configuration-files}
### Archivos de configuración {#configuration_files}
`clickhouse-client` utiliza el primer archivo existente de los siguientes:

View File

@ -1,4 +1,4 @@
# Archivos de configuración {#configuration-files}
# Archivos de configuración {#configuration_files}
ClickHouse admite la administración de configuración de varios archivos. El archivo de configuración del servidor principal es `/etc/clickhouse-server/config.xml`. Otros archivos deben estar en el `/etc/clickhouse-server/config.d` Directorio.

View File

@ -85,7 +85,7 @@ Los perfiles de configuración se encuentran en el archivo especificado en el pa
<default_profile>default</default_profile>
```
## Diccionarios\_config {#server-settings-dictionaries-config}
## Diccionarios\_config {#server_settings-dictionaries_config}
La ruta de acceso al archivo de configuración para diccionarios externos.
@ -102,7 +102,7 @@ Ver también “[Diccionarios externos](../../query_language/dicts/external_dict
<dictionaries_config>*_dictionary.xml</dictionaries_config>
```
## Diccionarios\_lazy\_load {#server-settings-dictionaries-lazy-load}
## Diccionarios\_lazy\_load {#server_settings-dictionaries_lazy_load}
La carga perezosa de los diccionarios.
@ -118,7 +118,7 @@ El valor predeterminado es `true`.
<dictionaries_lazy_load>true</dictionaries_lazy_load>
```
## format\_schema\_path {#server-settings-format-schema-path}
## format\_schema\_path {#server_settings-format_schema_path}
La ruta de acceso al directorio con los esquemas para los datos de entrada, como los esquemas [CapnProto](../../interfaces/formats.md#capnproto) formato.
@ -129,7 +129,7 @@ La ruta de acceso al directorio con los esquemas para los datos de entrada, como
<format_schema_path>format_schemas/</format_schema_path>
```
## Grafito {#server-settings-graphite}
## Grafito {#server_settings-graphite}
Envío de datos a [Grafito](https://github.com/graphite-project).
@ -163,7 +163,7 @@ Puede configurar múltiples `<graphite>` clausula. Por ejemplo, puede usar esto
</graphite>
```
## graphite\_rollup {#server-settings-graphite-rollup}
## graphite\_rollup {#server_settings-graphite-rollup}
Ajustes para reducir los datos de grafito.
@ -205,7 +205,7 @@ Si `http_port` se especifica, la configuración de OpenSSL se ignora incluso si
<https>0000</https>
```
## http\_server\_default\_response {#server-settings-http-server-default-response}
## http\_server\_default\_response {#server_settings-http_server_default_response}
La página que se muestra de forma predeterminada al acceder al servidor HTTP de ClickHouse.
El valor predeterminado es “Ok.” (con un avance de línea al final)
@ -220,7 +220,7 @@ Abrir `https://tabix.io/` al acceder `http://localhost: http_port`.
</http_server_default_response>
```
## include\_from {#server-settings-include-from}
## include\_from {#server_settings-include_from}
La ruta al archivo con sustituciones.
@ -285,7 +285,7 @@ El número de segundos que ClickHouse espera las solicitudes entrantes antes de
<keep_alive_timeout>3</keep_alive_timeout>
```
## listen\_host {#server-settings-listen-host}
## listen\_host {#server_settings-listen_host}
Restricción en hosts de los que pueden provenir las solicitudes. Si desea que el servidor responda a todos ellos, especifique `::`.
@ -296,7 +296,7 @@ Ejemplos:
<listen_host>127.0.0.1</listen_host>
```
## registrador {#server-settings-logger}
## registrador {#server_settings-logger}
Configuración de registro.
@ -421,7 +421,7 @@ El valor 0 significa que puede eliminar todas las tablas sin restricciones.
<max_table_size_to_drop>0</max_table_size_to_drop>
```
## merge\_tree {#server-settings-merge-tree}
## merge\_tree {#server_settings-merge_tree}
Ajuste fino para tablas en el [Método de codificación de datos:](../table_engines/mergetree.md).
@ -435,7 +435,7 @@ Para obtener más información, vea MergeTreeSettings.h archivo de encabezado.
</merge_tree>
```
## openSSL {#server-settings-openssl}
## openSSL {#server_settings-openssl}
Configuración cliente/servidor SSL.
@ -494,7 +494,7 @@ Claves para la configuración del servidor/cliente:
</openSSL>
```
## part\_log {#server-settings-part-log}
## part\_log {#server_settings-part-log}
Registro de eventos asociados con [Método de codificación de datos:](../table_engines/mergetree.md). Por ejemplo, agregar o fusionar datos. Puede utilizar el registro para simular algoritmos de combinación y comparar sus características. Puede visualizar el proceso de fusión.
@ -518,7 +518,7 @@ Utilice los siguientes parámetros para configurar el registro:
</part_log>
```
## camino {#server-settings-path}
## camino {#server_settings-path}
La ruta de acceso al directorio que contiene los datos.
@ -531,7 +531,7 @@ La ruta de acceso al directorio que contiene los datos.
<path>/var/lib/clickhouse/</path>
```
## query\_log {#server-settings-query-log}
## query\_log {#server_settings-query-log}
Configuración de las consultas de registro recibidas con [log\_queries=1](../settings/settings.md) configuración.
@ -557,7 +557,7 @@ Si la tabla no existe, ClickHouse la creará. Si la estructura del registro de c
</query_log>
```
## Sistema abierto. {#server-settings-query-thread-log}
## Sistema abierto. {#server_settings-query-thread-log}
Configuración de subprocesos de registro de consultas recibidas con [Log\_query\_threads = 1](../settings/settings.md#settings-log-query-threads) configuración.
@ -583,7 +583,7 @@ Si la tabla no existe, ClickHouse la creará. Si la estructura del registro de s
</query_thread_log>
```
## trace\_log {#server-settings-trace-log}
## trace\_log {#server_settings-trace_log}
Ajustes para el [trace\_log](../system_tables.md#system_tables-trace_log) operación de la tabla del sistema.
@ -652,7 +652,7 @@ Para el valor de la `incl` atributo, consulte la sección “[Archivos de config
- [skip\_unavailable\_shards](../settings/settings.md#settings-skip_unavailable_shards)
## Zona horaria {#server-settings-timezone}
## Zona horaria {#server_settings-timezone}
La zona horaria del servidor.
@ -666,7 +666,7 @@ La zona horaria es necesaria para las conversiones entre los formatos String y D
<timezone>Europe/Moscow</timezone>
```
## Tcp\_port {#server-settings-tcp-port}
## Tcp\_port {#server_settings-tcp_port}
Puerto para comunicarse con clientes a través del protocolo TCP.
@ -676,7 +676,7 @@ Puerto para comunicarse con clientes a través del protocolo TCP.
<tcp_port>9000</tcp_port>
```
## Tcp\_port\_secure {#server-settings-tcp-port-secure}
## Tcp\_port\_secure {#server_settings-tcp_port-secure}
Puerto TCP para una comunicación segura con los clientes. Úselo con [OpenSSL](#server_settings-openssl) configuración.
@ -690,7 +690,7 @@ Entero positivo.
<tcp_port_secure>9440</tcp_port_secure>
```
## mysql\_port {#server-settings-mysql-port}
## mysql\_port {#server_settings-mysql_port}
Puerto para comunicarse con clientes a través del protocolo MySQL.
@ -704,7 +704,7 @@ Ejemplo
<mysql_port>9004</mysql_port>
```
## tmp\_path {#server-settings-tmp-path}
## tmp\_path {#server-settings-tmp_path}
Ruta de acceso a datos temporales para procesar consultas grandes.
@ -728,7 +728,7 @@ Si no se establece [`tmp_path`](#server-settings-tmp_path) se utiliza, de lo con
- `max_data_part_size_bytes` se ignora
- debe tener exactamente un volumen en esa política
## Uncompressed\_cache\_size {#server-settings-uncompressed-cache-size}
## Uncompressed\_cache\_size {#server-settings-uncompressed_cache_size}
Tamaño de la memoria caché (en bytes) para los datos sin comprimir utilizados por los motores de [Método de codificación de datos:](../table_engines/mergetree.md).
@ -742,7 +742,7 @@ La caché sin comprimir es ventajosa para consultas muy cortas en casos individu
<uncompressed_cache_size>8589934592</uncompressed_cache_size>
```
## user\_files\_path {#server-settings-user-files-path}
## user\_files\_path {#server_settings-user_files_path}
El directorio con archivos de usuario. Utilizado en la función de tabla [file()](../../query_language/table_functions/file.md).
@ -767,7 +767,7 @@ Ruta de acceso al archivo que contiene:
<users_config>users.xml</users_config>
```
## Zookeeper {#server-settings-zookeeper}
## Zookeeper {#server-settings_zookeeper}
Contiene la configuración que permite a ClickHouse interactuar con [ZooKeeper](http://zookeeper.apache.org/) Cluster.
@ -820,7 +820,7 @@ Esta sección contiene los siguientes parámetros:
- [Replicación](../../operations/table_engines/replication.md)
- [Guía del programador ZooKeeper](http://zookeeper.apache.org/doc/current/zookeeperProgrammers.html)
## use\_minimalistic\_part\_header\_in\_zookeeper {#server-settings-use-minimalistic-part-header-in-zookeeper}
## use\_minimalistic\_part\_header\_in\_zookeeper {#server-settings-use_minimalistic_part_header_in_zookeeper}
Método de almacenamiento para encabezados de parte de datos en ZooKeeper.

View File

@ -1,4 +1,4 @@
# Permisos para consultas {#permissions-for-queries}
# Permisos para consultas {#permissions_for_queries}
Las consultas en ClickHouse se pueden dividir en varios tipos:
@ -15,7 +15,7 @@ La siguiente configuración regula los permisos de usuario según el tipo de con
`KILL QUERY` se puede realizar con cualquier configuración.
## sólo lectura {#settings-readonly}
## sólo lectura {#settings_readonly}
Restringe los permisos para leer datos, escribir datos y cambiar las consultas de configuración.
@ -36,7 +36,7 @@ de cambiar sólo ajustes específicos, para más detalles ver [restricciones en
Valor predeterminado: 0
## Método de codificación de datos: {#settings-allow-ddl}
## Método de codificación de datos: {#settings_allow_ddl}
Permite o niega [DDL](https://en.wikipedia.org/wiki/Data_definition_language) consulta.

View File

@ -16,7 +16,7 @@ Puede tomar uno de dos valores: `throw` o `break`. Las restricciones en la agreg
`any (only for group_by_overflow_mode)` Continuar la agregación de las claves que se metieron en el conjunto, pero no añadir nuevas claves al conjunto.
## Método de codificación de datos: {#settings-max-memory-usage}
## Método de codificación de datos: {#settings_max_memory_usage}
La cantidad máxima de RAM que se utiliza para ejecutar una consulta en un único servidor.
@ -73,7 +73,7 @@ Un número máximo de claves únicas recibidas de la agregación. Esta configura
Qué hacer cuando el número de claves únicas para la agregación excede el límite: throw, break, o any. Por defecto, tirar.
Uso de la any valor le permite ejecutar una aproximación de GROUP BY. La calidad de esta aproximación depende de la naturaleza estadística de los datos.
## max\_bytes\_before\_external\_group\_by {#settings-max-bytes-before-external-group-by}
## max\_bytes\_before\_external\_group\_by {#settings-max_bytes_before_external_group_by}
Habilita o deshabilita la ejecución de `GROUP BY` en la memoria externa. Ver [GRUPO POR en memoria externa](../../query_language/select.md#select-group-by-in-external-memory).
@ -96,7 +96,7 @@ Un número máximo de bytes antes de ordenar.
Qué hacer si el número de filas recibidas antes de ordenar excede uno de los límites: throw o break. Por defecto, tirar.
## max\_result\_rows {#setting-max-result-rows}
## max\_result\_rows {#setting-max_result_rows}
Límite en el número de filas en el resultado. También se comprueba si hay subconsultas y en servidores remotos cuando se ejecutan partes de una consulta distribuida.
@ -223,7 +223,7 @@ Un número máximo de bytes (datos sin comprimir) que se pueden pasar a un servi
Qué hacer cuando la cantidad de datos excede uno de los límites: throw o break. Por defecto, tirar.
## Método de codificación de datos: {#settings-max-rows-in-join}
## Método de codificación de datos: {#settings-max_rows_in_join}
Limita el número de filas de la tabla hash que se utiliza al unir tablas.
@ -240,7 +240,7 @@ Valores posibles:
Valor predeterminado: 0.
## Método de codificación de datos: {#settings-max-bytes-in-join}
## Método de codificación de datos: {#settings-max_bytes_in_join}
Limita el tamaño en bytes de la tabla hash utilizada al unir tablas.
@ -257,7 +257,7 @@ Valores posibles:
Valor predeterminado: 0.
## join\_overflow\_mode {#settings-join-overflow-mode}
## join\_overflow\_mode {#settings-join_overflow_mode}
Define qué acción realiza ClickHouse cuando se alcanza cualquiera de los siguientes límites de combinación:

View File

@ -44,7 +44,7 @@ Si `enable_optimize_predicate_expression = 1`, entonces el tiempo de ejecución
Si `enable_optimize_predicate_expression = 0`, entonces el tiempo de ejecución de la segunda consulta es mucho más largo, porque el `WHERE` cláusula se aplica a todos los datos después de que finalice la subconsulta.
## fallback\_to\_stale\_replicas\_for\_distributed\_queries {#settings-fallback-to-stale-replicas-for-distributed-queries}
## fallback\_to\_stale\_replicas\_for\_distributed\_queries {#settings-fallback_to_stale_replicas_for_distributed_queries}
Fuerza una consulta a una réplica obsoleta si los datos actualizados no están disponibles. Ver [Replicación](../table_engines/replication.md).
@ -54,7 +54,7 @@ Se utiliza al realizar `SELECT` desde una tabla distribuida que apunta a tablas
De forma predeterminada, 1 (habilitado).
## Fecha de nacimiento {#settings-force-index-by-date}
## Fecha de nacimiento {#settings-force_index_by_date}
Deshabilita la ejecución de consultas si el índice no se puede usar por fecha.
@ -80,7 +80,7 @@ Habilita o deshabilita [fsync](http://pubs.opengroup.org/onlinepubs/9699919799/f
Tiene sentido desactivarlo si el servidor tiene millones de pequeñas tablas que se crean y destruyen constantemente.
## enable\_http\_compression {#settings-enable-http-compression}
## enable\_http\_compression {#settings-enable_http_compression}
Habilita o deshabilita la compresión de datos en la respuesta a una solicitud HTTP.
@ -93,7 +93,7 @@ Valores posibles:
Valor predeterminado: 0.
## http\_zlib\_compression\_level {#settings-http-zlib-compression-level}
## http\_zlib\_compression\_level {#settings-http_zlib_compression_level}
Establece el nivel de compresión de datos en la respuesta a una solicitud HTTP si [enable\_http\_compression = 1](#settings-enable_http_compression).
@ -101,7 +101,7 @@ Valores posibles: Números del 1 al 9.
Valor predeterminado: 3.
## http\_native\_compression\_disable\_checksumming\_on\_decompress {#settings-http-native-compression-disable-checksumming-on-decompress}
## http\_native\_compression\_disable\_checksumming\_on\_decompress {#settings-http_native_compression_disable_checksumming_on_decompress}
Habilita o deshabilita la verificación de suma de comprobación al descomprimir los datos HTTP POST del cliente. Se usa solo para el formato de compresión nativa ClickHouse (no se usa con `gzip` o `deflate`).
@ -114,7 +114,7 @@ Valores posibles:
Valor predeterminado: 0.
## send\_progress\_in\_http\_headers {#settings-send-progress-in-http-headers}
## send\_progress\_in\_http\_headers {#settings-send_progress_in_http_headers}
Habilita o deshabilita `X-ClickHouse-Progress` Encabezados de respuesta HTTP en `clickhouse-server` respuesta.
@ -127,7 +127,7 @@ Valores posibles:
Valor predeterminado: 0.
## Nombre de la red inalámbrica (SSID): {#setting-max-http-get-redirects}
## Nombre de la red inalámbrica (SSID): {#setting-max_http_get_redirects}
Limita el número máximo de saltos de redirección HTTP GET para [URL](../table_engines/url.md)-mesas de motor. La configuración se aplica a ambos tipos de tablas: las creadas por [CREAR TABLA](../../query_language/create/#create-table-query) Consulta y por el [URL](../../query_language/table_functions/url.md) función de la tabla.
@ -138,7 +138,7 @@ Valores posibles:
Valor predeterminado: 0.
## Entrada\_format\_allow\_errors\_num {#settings-input-format-allow-errors-num}
## Entrada\_format\_allow\_errors\_num {#settings-input_format_allow_errors_num}
Establece el número máximo de errores aceptables al leer desde formatos de texto (CSV, TSV, etc.).
@ -150,7 +150,7 @@ Si se produjo un error al leer filas, pero el contador de errores sigue siendo m
Si ambos `input_format_allow_errors_num` y `input_format_allow_errors_ratio` se exceden, ClickHouse lanza una excepción.
## Entrada\_format\_allow\_errors\_ratio {#settings-input-format-allow-errors-ratio}
## Entrada\_format\_allow\_errors\_ratio {#settings-input_format_allow_errors_ratio}
Establece el porcentaje máximo de errores permitidos al leer desde formatos de texto (CSV, TSV, etc.).
El porcentaje de errores se establece como un número de punto flotante entre 0 y 1.
@ -163,7 +163,7 @@ Si se produjo un error al leer filas, pero el contador de errores sigue siendo m
Si ambos `input_format_allow_errors_num` y `input_format_allow_errors_ratio` se exceden, ClickHouse lanza una excepción.
## input\_format\_values\_interpret\_expressions {#settings-input-format-values-interpret-expressions}
## input\_format\_values\_interpret\_expressions {#settings-input_format_values_interpret_expressions}
Habilita o deshabilita el analizador SQL completo si el analizador de flujo rápido no puede analizar los datos. Esta configuración sólo se utiliza para [Valor](../../interfaces/formats.md#data-format-values) formato en la inserción de datos. Para obtener más información sobre el análisis de sintaxis, consulte [Sintaxis](../../query_language/syntax.md) apartado.
@ -213,7 +213,7 @@ INSERT INTO datetime_t SELECT now()
Ok.
```
## input\_format\_values\_deduce\_templates\_of\_expressions {#settings-input-format-values-deduce-templates-of-expressions}
## input\_format\_values\_deduce\_templates\_of\_expressions {#settings-input_format_values_deduce_templates_of_expressions}
Habilita o deshabilita la deducción de plantilla para expresiones SQL en [Valor](../../interfaces/formats.md#data-format-values) formato. Permite analizar e interpretar expresiones en `Values` mucho más rápido si las expresiones en filas consecutivas tienen la misma estructura. ClickHouse intentará deducir la plantilla de una expresión, analizar las siguientes filas utilizando esta plantilla y evaluar la expresión en un lote de filas analizadas correctamente. Para la siguiente consulta:
@ -241,7 +241,7 @@ Cuando esta configuración está habilitada, ClickHouse comprobará el tipo real
Cuando está deshabilitado, ClickHouse puede usar un tipo más general para algunos literales (por ejemplo, `Float64` o `Int64` es lugar de `UInt64` para `42`), pero puede causar problemas de desbordamiento y precisión.
Habilitado de forma predeterminada.
## Entrada\_format\_defaults\_for\_omitted\_fields {#session-settings-input-format-defaults-for-omitted-fields}
## Entrada\_format\_defaults\_for\_omitted\_fields {#session_settings-input_format_defaults_for_omitted_fields}
Al realizar `INSERT` consultas, reemplace los valores de columna de entrada omitidos con valores predeterminados de las columnas respectivas. Esta opción sólo se aplica a [JSONEachRow](../../interfaces/formats.md#jsoneachrow), [CSV](../../interfaces/formats.md#csv) y [TabSeparated](../../interfaces/formats.md#tabseparated) formato.
@ -285,7 +285,7 @@ Valores posibles:
Valor predeterminado: 0.
## Entrada\_format\_import\_nested\_json {#settings-input-format-import-nested-json}
## Entrada\_format\_import\_nested\_json {#settings-input_format_import_nested_json}
Habilita o deshabilita la inserción de datos JSON con objetos anidados.
@ -322,7 +322,7 @@ Valores posibles:
Valor predeterminado: 1.
## Date\_time\_input\_format {#settings-date-time-input-format}
## Date\_time\_input\_format {#settings-date_time_input_format}
Permite elegir un analizador de la representación de texto de fecha y hora.
@ -345,7 +345,7 @@ Ver también:
- [Tipo de datos DateTime.](../../data_types/datetime.md)
- [Funciones para trabajar con fechas y horas.](../../query_language/functions/date_time_functions.md)
## Por favor, introduzca su dirección de correo electrónico {#settings-join-default-strictness}
## Por favor, introduzca su dirección de correo electrónico {#settings-join_default_strictness}
Establece el rigor predeterminado para [Cláusulas JOIN](../../query_language/select.md#select-join).
@ -358,7 +358,7 @@ Valores posibles:
Valor predeterminado: `ALL`.
## join\_any\_take\_last\_row {#settings-join-any-take-last-row}
## join\_any\_take\_last\_row {#settings-join_any_take_last_row}
Cambia el comportamiento de las operaciones de unión con `ANY` rigor.
@ -378,7 +378,7 @@ Ver también:
- [Unirse al motor de tabla](../table_engines/join.md)
- [Por favor, introduzca su dirección de correo electrónico](#settings-join_default_strictness)
## Sistema abierto. {#join-use-nulls}
## Sistema abierto. {#join_use_nulls}
Establece el tipo de [UNIR](../../query_language/select.md) comportamiento. Al fusionar tablas, pueden aparecer celdas vacías. ClickHouse los rellena de manera diferente según esta configuración.
@ -389,7 +389,7 @@ Valores posibles:
Valor predeterminado: 0.
## max\_block\_size {#setting-max-block-size}
## max\_block\_size {#setting-max_block_size}
En ClickHouse, los datos se procesan mediante bloques (conjuntos de partes de columna). Los ciclos de procesamiento interno para un solo bloque son lo suficientemente eficientes, pero hay gastos notables en cada bloque. El `max_block_size` set es una recomendación para el tamaño del bloque (en un recuento de filas) para cargar desde las tablas. El tamaño del bloque no debe ser demasiado pequeño, por lo que los gastos en cada bloque aún se notan, pero no demasiado grande para que la consulta con LIMIT que se complete después del primer bloque se procese rápidamente. El objetivo es evitar consumir demasiada memoria al extraer un gran número de columnas en múltiples subprocesos y preservar al menos alguna localidad de caché.
@ -514,7 +514,7 @@ Ejemplo:
log_query_threads=1
```
## Max\_insert\_block\_size {#settings-max-insert-block-size}
## Max\_insert\_block\_size {#settings-max_insert_block_size}
El tamaño de los bloques a formar para su inserción en una tabla.
Esta configuración solo se aplica en los casos en que el servidor forma los bloques.
@ -526,7 +526,7 @@ Valor predeterminado: 1.048.576.
El valor predeterminado es ligeramente más que `max_block_size`. La razón de esto se debe a que ciertos motores de mesa (`*MergeTree`) formar una parte de datos en el disco para cada bloque insertado, que es una entidad bastante grande. Similar, `*MergeTree` las tablas ordenan los datos durante la inserción y un tamaño de bloque lo suficientemente grande permiten clasificar más datos en la RAM.
## max\_replica\_delay\_for\_distributed\_queries {#settings-max-replica-delay-for-distributed-queries}
## max\_replica\_delay\_for\_distributed\_queries {#settings-max_replica_delay_for_distributed_queries}
Deshabilita las réplicas rezagadas para consultas distribuidas. Ver [Replicación](../../operations/table_engines/replication.md).
@ -536,7 +536,7 @@ Valor predeterminado: 300.
Se utiliza al realizar `SELECT` desde una tabla distribuida que apunta a tablas replicadas.
## max\_threads {#settings-max-threads}
## max\_threads {#settings-max_threads}
El número máximo de subprocesos de procesamiento de consultas, excluyendo subprocesos para recuperar datos de servidores max\_distributed\_connections parámetro).
@ -585,7 +585,7 @@ Estamos escribiendo una columna URL con el tipo String (tamaño promedio de 60 b
Por lo general, no hay ninguna razón para cambiar esta configuración.
## max\_query\_size {#settings-max-query-size}
## max\_query\_size {#settings-max_query_size}
La parte máxima de una consulta que se puede llevar a la RAM para analizar con el analizador SQL.
La consulta INSERT también contiene datos para INSERT que es procesado por un analizador de secuencias independiente (que consume O(1) RAM), que no está incluido en esta restricción.
@ -648,7 +648,7 @@ Valor predeterminado: 3.
Ya sea para contar valores extremos (los mínimos y máximos en columnas de un resultado de consulta). Acepta 0 o 1. De forma predeterminada, 0 (deshabilitado).
Para obtener más información, consulte la sección “Extreme values”.
## Use\_uncompressed\_cache {#setting-use-uncompressed-cache}
## Use\_uncompressed\_cache {#setting-use_uncompressed_cache}
Si se debe usar una memoria caché de bloques sin comprimir. Acepta 0 o 1. De forma predeterminada, 0 (deshabilitado).
El uso de la memoria caché sin comprimir (solo para tablas de la familia MergeTree) puede reducir significativamente la latencia y aumentar el rendimiento cuando se trabaja con un gran número de consultas cortas. Habilite esta configuración para los usuarios que envían solicitudes cortas frecuentes. También preste atención al [Uncompressed\_cache\_size](../server_settings/settings.md#server-settings-uncompressed_cache_size) parámetro de configuración (solo establecido en el archivo de configuración): el tamaño de los bloques de caché sin comprimir. De forma predeterminada, es 8 GiB. La memoria caché sin comprimir se rellena según sea necesario y los datos menos utilizados se eliminan automáticamente.
@ -674,7 +674,7 @@ El valor predeterminado es 7500.
Cuanto menor sea el valor, más a menudo los datos se vacían en la tabla. Establecer el valor demasiado bajo conduce a un rendimiento deficiente.
## load\_balancing {#settings-load-balancing}
## load\_balancing {#settings-load_balancing}
Especifica el algoritmo de selección de réplicas que se utiliza para el procesamiento de consultas distribuidas.
@ -685,7 +685,7 @@ ClickHouse admite los siguientes algoritmos para elegir réplicas:
- [En orden](#load_balancing-in_order)
- [Primero o aleatorio](#load_balancing-first_or_random)
### Aleatorio (por defecto) {#load-balancing-random}
### Aleatorio (por defecto) {#load_balancing-random}
``` sql
load_balancing = random
@ -694,7 +694,7 @@ load_balancing = random
El número de errores se cuenta para cada réplica. La consulta se envía a la réplica con el menor número de errores, y si hay varios de estos, a cualquiera de ellos.
Desventajas: La proximidad del servidor no se tiene en cuenta; si las réplicas tienen datos diferentes, también obtendrá datos diferentes.
### Nombre de host más cercano {#load-balancing-nearest-hostname}
### Nombre de host más cercano {#load_balancing-nearest_hostname}
``` sql
load_balancing = nearest_hostname
@ -708,7 +708,7 @@ Este método puede parecer primitivo, pero no requiere datos externos sobre la t
Por lo tanto, si hay réplicas equivalentes, se prefiere la más cercana por nombre.
También podemos suponer que al enviar una consulta al mismo servidor, en ausencia de fallas, una consulta distribuida también irá a los mismos servidores. Por lo tanto, incluso si se colocan datos diferentes en las réplicas, la consulta devolverá principalmente los mismos resultados.
### En orden {#load-balancing-in-order}
### En orden {#load_balancing-in_order}
``` sql
load_balancing = in_order
@ -717,7 +717,7 @@ load_balancing = in_order
Se accede a las réplicas con el mismo número de errores en el mismo orden en que se especifican en la configuración.
Este método es apropiado cuando se sabe exactamente qué réplica es preferible.
### Primero o aleatorio {#load-balancing-first-or-random}
### Primero o aleatorio {#load_balancing-first_or_random}
``` sql
load_balancing = first_or_random
@ -751,7 +751,7 @@ Vea la sección “WITH TOTALS modifier”.
El umbral para `totals_mode = 'auto'`.
Vea la sección “WITH TOTALS modifier”.
## max\_parallel\_replicas {#settings-max-parallel-replicas}
## max\_parallel\_replicas {#settings-max_parallel_replicas}
El número máximo de réplicas para cada fragmento al ejecutar una consulta.
Para obtener coherencia (para obtener diferentes partes de la misma división de datos), esta opción solo funciona cuando se establece la clave de muestreo.
@ -773,15 +773,15 @@ Si el valor es 1 o más, la compilación se produce de forma asíncrona en un su
Se requiere código compilado para cada combinación diferente de funciones agregadas utilizadas en la consulta y el tipo de claves en la cláusula GROUP BY.
Los resultados de la compilación se guardan en el directorio de compilación en forma de archivos .so. No hay ninguna restricción en el número de resultados de compilación, ya que no utilizan mucho espacio. Los resultados anteriores se usarán después de reiniciar el servidor, excepto en el caso de una actualización del servidor; en este caso, se eliminan los resultados anteriores.
## output\_format\_json\_quote\_64bit\_integers {#session-settings-output-format-json-quote-64bit-integers}
## output\_format\_json\_quote\_64bit\_integers {#session_settings-output_format_json_quote_64bit_integers}
Si el valor es true, los enteros aparecen entre comillas cuando se usan los formatos JSON\* Int64 y UInt64 (por compatibilidad con la mayoría de las implementaciones de JavaScript); de lo contrario, los enteros se generan sin las comillas.
## Formato\_csv\_delimiter {#settings-format-csv-delimiter}
## Formato\_csv\_delimiter {#settings-format_csv_delimiter}
El carácter interpretado como un delimitador en los datos CSV. De forma predeterminada, el delimitador es `,`.
## input\_format\_csv\_unquoted\_null\_literal\_as\_null {#settings-input-format-csv-unquoted-null-literal-as-null}
## input\_format\_csv\_unquoted\_null\_literal\_as\_null {#settings-input_format_csv_unquoted_null_literal_as_null}
Para el formato de entrada CSV, habilita o deshabilita el análisis de `NULL` como literal (sinónimo de `\N`).
@ -793,7 +793,7 @@ Utilice el separador de línea de estilo DOS / Windows (CRLF) en CSV en lugar de
Utilice el separador de línea de estilo DOC / Windows (CRLF) en TSV en lugar del estilo Unix (LF).
## insert\_quorum {#settings-insert-quorum}
## insert\_quorum {#settings-insert_quorum}
Habilita las escrituras de quórum.
@ -820,7 +820,7 @@ Ver también:
- [insert\_quorum\_timeout](#settings-insert_quorum_timeout)
- [select\_sequential\_consistency](#settings-select_sequential_consistency)
## insert\_quorum\_timeout {#settings-insert-quorum-timeout}
## insert\_quorum\_timeout {#settings-insert_quorum-timeout}
Escribir en tiempo de espera de quórum en segundos. Si el tiempo de espera ha pasado y aún no se ha realizado ninguna escritura, ClickHouse generará una excepción y el cliente debe repetir la consulta para escribir el mismo bloque en la misma réplica o en cualquier otra réplica.
@ -831,7 +831,7 @@ Ver también:
- [insert\_quorum](#settings-insert_quorum)
- [select\_sequential\_consistency](#settings-select_sequential_consistency)
## select\_sequential\_consistency {#settings-select-sequential-consistency}
## select\_sequential\_consistency {#settings-select_sequential_consistency}
Habilita o deshabilita la coherencia secuencial para `SELECT` Consulta:
@ -926,7 +926,7 @@ Valores posibles:
Valor predeterminado: 0.
## count\_distinct\_implementation {#settings-count-distinct-implementation}
## count\_distinct\_implementation {#settings-count_distinct_implementation}
Especifica cuál de las `uniq*` se deben utilizar para realizar el [COUNT(DISTINCT …)](../../query_language/agg_functions/reference.md#agg_function-count) construcción.
@ -940,7 +940,7 @@ Valores posibles:
Valor predeterminado: `uniqExact`.
## skip\_unavailable\_shards {#settings-skip-unavailable-shards}
## skip\_unavailable\_shards {#settings-skip_unavailable_shards}
Habilita o deshabilita la omisión silenciosa de fragmentos no disponibles.
@ -970,7 +970,7 @@ Valores posibles:
Valor predeterminado: 0.
## Optize\_skip\_unused\_shards {#settings-optimize-skip-unused-shards}
## Optize\_skip\_unused\_shards {#settings-optimize_skip_unused_shards}
Habilita o deshabilita la omisión de fragmentos no utilizados para las consultas SELECT que tienen la condición de clave de fragmentación en PREWHERE / WHERE (supone que los datos se distribuyen mediante clave de fragmentación, de lo contrario no hacer nada).
@ -988,7 +988,7 @@ Valores posibles:
Valor predeterminado: 0
## Optize\_throw\_if\_noop {#setting-optimize-throw-if-noop}
## Optize\_throw\_if\_noop {#setting-optimize_throw_if_noop}
Habilita o deshabilita el lanzamiento de una excepción [OPTIMIZAR](../../query_language/misc.md#misc_operations-optimize) la consulta no realizó una fusión.
@ -1001,7 +1001,7 @@ Valores posibles:
Valor predeterminado: 0.
## distributed\_replica\_error\_half\_life {#settings-distributed-replica-error-half-life}
## distributed\_replica\_error\_half\_life {#settings-distributed_replica_error_half_life}
- Tipo: segundos
- Valor predeterminado: 60 segundos
@ -1013,7 +1013,7 @@ Ver también:
- [Motor de tabla distribuido](../../operations/table_engines/distributed.md)
- [distributed\_replica\_error\_cap](#settings-distributed_replica_error_cap)
## distributed\_replica\_error\_cap {#settings-distributed-replica-error-cap}
## distributed\_replica\_error\_cap {#settings-distributed_replica_error_cap}
- Tipo: unsigned int
- Valor predeterminado: 1000
@ -1025,7 +1025,7 @@ Ver también:
- [Motor de tabla distribuido](../../operations/table_engines/distributed.md)
- [distributed\_replica\_error\_half\_life](#settings-distributed_replica_error_half_life)
## Distributed\_directory\_monitor\_sleep\_time\_ms {#distributed-directory-monitor-sleep-time-ms}
## Distributed\_directory\_monitor\_sleep\_time\_ms {#distributed_directory_monitor_sleep_time_ms}
Intervalo base para el [Distribuido](../table_engines/distributed.md) motor de tabla para enviar datos. El intervalo real crece exponencialmente en caso de errores.
@ -1035,7 +1035,7 @@ Valores posibles:
Valor predeterminado: 100 milisegundos.
## Distributed\_directory\_monitor\_max\_sleep\_time\_ms {#distributed-directory-monitor-max-sleep-time-ms}
## Distributed\_directory\_monitor\_max\_sleep\_time\_ms {#distributed_directory_monitor_max_sleep_time_ms}
Intervalo máximo para el [Distribuido](../table_engines/distributed.md) motor de tabla para enviar datos. Limita el crecimiento exponencial del intervalo establecido en el [Distributed\_directory\_monitor\_sleep\_time\_ms](#distributed_directory_monitor_sleep_time_ms) configuración.
@ -1045,7 +1045,7 @@ Valores posibles:
Valor predeterminado: 30000 milisegundos (30 segundos).
## distributed\_directory\_monitor\_batch\_inserts {#distributed-directory-monitor-batch-inserts}
## distributed\_directory\_monitor\_batch\_inserts {#distributed_directory_monitor_batch_inserts}
Habilita/deshabilita el envío de datos insertados en lotes.
@ -1073,7 +1073,7 @@ Los valores más bajos significan mayor prioridad. Hilos con bajo `nice` Los val
Valor predeterminado: 0.
## query\_profiler\_real\_time\_period\_ns {#query-profiler-real-time-period-ns}
## query\_profiler\_real\_time\_period\_ns {#query_profiler_real_time_period_ns}
Establece el período para un temporizador de reloj real del [perfilador de consultas](../../operations/performance/sampling_query_profiler.md). El temporizador de reloj real cuenta el tiempo del reloj de pared.
@ -1096,7 +1096,7 @@ Ver también:
- Tabla del sistema [trace\_log](../system_tables.md#system_tables-trace_log)
## Los resultados de la prueba {#query-profiler-cpu-time-period-ns}
## Los resultados de la prueba {#query_profiler_cpu_time_period_ns}
Establece el período para un temporizador de reloj de CPU [perfilador de consultas](../../operations/performance/sampling_query_profiler.md). Este temporizador solo cuenta el tiempo de CPU.
@ -1119,7 +1119,7 @@ Ver también:
- Tabla del sistema [trace\_log](../system_tables.md#system_tables-trace_log)
## allow\_introspection\_functions {#settings-allow-introspection-functions}
## allow\_introspection\_functions {#settings-allow_introspection_functions}
Habilita deshabilita [funciones de introspecciones](../../query_language/functions/introspection.md) para la creación de perfiles de consultas.
@ -1149,7 +1149,7 @@ Habilitar el análisis paralelo de los formatos de datos para preservar el orden
El tamaño mínimo de fragmento en bytes, que cada subproceso analizará en paralelo.
## Sistema abierto. {#settings-output-format-avro-codec}
## Sistema abierto. {#settings-output_format_avro_codec}
Establece el códec de compresión utilizado para el archivo Avro de salida.
@ -1163,7 +1163,7 @@ Valores posibles:
Valor predeterminado: `snappy` (si está disponible) o `deflate`.
## Sistema abierto. {#settings-output-format-avro-sync-interval}
## Sistema abierto. {#settings-output_format_avro_sync_interval}
Establece el tamaño mínimo de datos (en bytes) entre los marcadores de sincronización para el archivo Avro de salida.
@ -1173,7 +1173,7 @@ Valores posibles: 32 (32 bytes) - 1073741824 (1 GiB)
Valor predeterminado: 32768 (32 KiB)
## Todos los derechos reservados. {#settings-format-avro-schema-registry-url}
## Todos los derechos reservados. {#settings-format_avro_schema_registry_url}
Establece la URL del Registro de esquemas confluentes para usar con [AvroConfluent](../../interfaces/formats.md#data-format-avro-confluent) Formato

View File

@ -6,7 +6,7 @@ Las tablas del sistema no tienen archivos con datos en el disco o archivos con m
Las tablas del sistema son de solo lectura.
Están ubicados en el system basar.
## sistema.asynchronous\_metrics {#system-tables-asynchronous-metrics}
## sistema.asynchronous\_metrics {#system_tables-asynchronous_metrics}
Contiene métricas que se calculan periódicamente en segundo plano. Por ejemplo, la cantidad de RAM en uso.
@ -138,7 +138,7 @@ Esta tabla contiene una sola columna String llamada name el nombre de
Cada base de datos que el servidor conoce tiene una entrada correspondiente en la tabla.
Esta tabla del sistema se utiliza para implementar el `SHOW DATABASES` consulta.
## sistema.detached\_parts {#system-tables-detached-parts}
## sistema.detached\_parts {#system_tables-detached_parts}
Contiene información sobre piezas separadas de [Método de codificación de datos:](table_engines/mergetree.md) tabla. El `reason` columna especifica por qué se separó la pieza. Para las piezas separadas por el usuario, el motivo está vacío. Tales partes se pueden unir con [ALTER TABLE ATTACH PARTITION\|PARTE](../query_language/query_language/alter/#alter_attach-partition) comando. Para obtener la descripción de otras columnas, consulte [sistema.parte](#system_tables-parts). Si el nombre de la pieza no es válido, los valores de algunas columnas pueden ser `NULL`. Tales partes se pueden eliminar con [ALTER MESA GOTA PARTE DESMONTADA](../query_language/query_language/alter/#alter_drop-detached).
@ -164,7 +164,7 @@ Columna:
Tenga en cuenta que la cantidad de memoria utilizada por el diccionario no es proporcional a la cantidad de elementos almacenados en él. Por lo tanto, para los diccionarios planos y en caché, todas las celdas de memoria se asignan previamente, independientemente de qué tan lleno esté realmente el diccionario.
## sistema.evento {#system-tables-events}
## sistema.evento {#system_tables-events}
Contiene información sobre el número de eventos que se han producido en el sistema. Por ejemplo, en la tabla, puede encontrar cuántos `SELECT` las consultas se procesaron desde que se inició el servidor ClickHouse.
@ -242,7 +242,7 @@ Columna:
- `bytes_written_uncompressed` (UInt64) — Número de bytes escritos, sin comprimir.
- `rows_written` (UInt64) — Número de filas escritas.
## sistema.métricas {#system-tables-metrics}
## sistema.métricas {#system_tables-metrics}
Contiene métricas que pueden calcularse instantáneamente o tener un valor actual. Por ejemplo, el número de consultas procesadas simultáneamente o el retraso de réplica actual. Esta tabla está siempre actualizada.
@ -282,7 +282,7 @@ SELECT * FROM system.metrics LIMIT 10
- [sistema.metric\_log](#system_tables-metric_log) — Contiene un historial de valores de métricas de tablas `system.metrics` , . `system.events`.
- [Monitoreo](monitoring.md) — Conceptos básicos de monitoreo ClickHouse.
## sistema.metric\_log {#system-tables-metric-log}
## sistema.metric\_log {#system_tables-metric_log}
Contiene el historial de valores de métricas de tablas `system.metrics` y `system.events`, periódicamente enjuagado al disco.
Para activar la recopilación de historial de métricas en `system.metric_log`, crear `/etc/clickhouse-server/config.d/metric_log.xml` con el siguiente contenido:
@ -355,7 +355,7 @@ Esta tabla contiene una sola fila con una dummy Columna UInt8 que contiene
Esta tabla se utiliza si una consulta SELECT no especifica la cláusula FROM.
Esto es similar a la tabla DUAL que se encuentra en otros DBMS.
## sistema.parte {#system-tables-parts}
## sistema.parte {#system_tables-parts}
Contiene información sobre partes de [Método de codificación de datos:](table_engines/mergetree.md) tabla.
@ -436,7 +436,7 @@ Columna:
- `marks_size` (`UInt64`) Alias para `marks_bytes`.
## sistema.part\_log {#system-tables-part-log}
## sistema.part\_log {#system_tables-part-log}
El `system.part_log` se crea sólo si el [part\_log](server_settings/settings.md#server_settings-part-log) se especifica la configuración del servidor.
@ -469,7 +469,7 @@ El `system.part_log` contiene las siguientes columnas:
El `system.part_log` se crea después de la primera inserción de datos `MergeTree` tabla.
## sistema.proceso {#system-tables-processes}
## sistema.proceso {#system_tables-processes}
Esta tabla del sistema se utiliza para implementar el `SHOW PROCESSLIST` consulta.
@ -512,7 +512,7 @@ Columna:
- `source_file` (`LowCardinality(String)`) - Archivo de origen desde el que se realizó el registro.
- `source_line` (`UInt64`) - Línea de origen desde la que se realizó el registro.
## sistema.query\_log {#system-tables-query-log}
## sistema.query\_log {#system_tables-query_log}
Contiene información sobre la ejecución de consultas. Para cada consulta, puede ver la hora de inicio del procesamiento, la duración del procesamiento, los mensajes de error y otra información.
@ -598,7 +598,7 @@ Cuando la tabla se elimina manualmente, se creará automáticamente sobre la mar
Puede especificar una clave de partición arbitraria `system.query_log` mesa en el [query\_log](server_settings/settings.md#server_settings-query-log) configuración del servidor (consulte el `partition_by` parámetro).
## sistema.Sistema abierto. {#system-tables-query-thread-log}
## sistema.Sistema abierto. {#system_tables-query-thread-log}
La tabla contiene información sobre cada subproceso de ejecución de consultas.
@ -663,7 +663,7 @@ Cuando la tabla se elimina manualmente, se creará automáticamente sobre la mar
Puede especificar una clave de partición arbitraria `system.query_thread_log` mesa en el [Sistema abierto.](server_settings/settings.md#server_settings-query-thread-log) configuración del servidor (consulte el `partition_by` parámetro).
## sistema.trace\_log {#system-tables-trace-log}
## sistema.trace\_log {#system_tables-trace_log}
Contiene seguimientos de pila recopilados por el generador de perfiles de consultas de muestreo.
@ -710,7 +710,7 @@ query_id: acc4d61f-5bd1-4a3e-bc91-2180be37c915
trace: [94222141367858,94222152240175,94222152325351,94222152329944,94222152330796,94222151449980,94222144088167,94222151682763,94222144088167,94222151682763,94222144088167,94222144058283,94222144059248,94222091840750,94222091842302,94222091831228,94222189631488,140509950166747,140509942945935]
```
## sistema.Replica {#system-tables-replicas}
## sistema.Replica {#system_tables-replicas}
Contiene información y estado de las tablas replicadas que residen en el servidor local.
Esta tabla se puede utilizar para el monitoreo. La tabla contiene una fila para cada tabla Replicated\*.
@ -991,7 +991,7 @@ pzxid: 987021252247
path: /clickhouse/tables/01-08/visits/replicas
```
## sistema.mutación {#system-tables-mutations}
## sistema.mutación {#system_tables-mutations}
La tabla contiene información sobre [mutación](../query_language/alter.md#alter-mutations) de las tablas MergeTree y su progreso. Cada comando de mutación está representado por una sola fila. La tabla tiene las siguientes columnas:
@ -1017,7 +1017,7 @@ Si hubo problemas con la mutación de algunas partes, las siguientes columnas co
**Método de codificación de datos:** - El mensaje de excepción que causó el error de mutación de parte más reciente.
## sistema.Discoteca {#system-tables-disks}
## sistema.Discoteca {#system_tables-disks}
Contiene información sobre los discos definidos en el [configuración del servidor](table_engines/mergetree.md#table_engine-mergetree-multiple-volumes_configure).
@ -1029,7 +1029,7 @@ Columna:
- `total_space` ([UInt64](../data_types/int_uint.md)) — Volumen del disco en bytes.
- `keep_free_space` ([UInt64](../data_types/int_uint.md)) — Cantidad de espacio en disco que debe permanecer libre en el disco en bytes. Definido en el `keep_free_space_bytes` parámetro de configuración del disco.
## sistema.almacenamiento\_policies {#system-tables-storage-policies}
## sistema.almacenamiento\_policies {#system_tables-storage_policies}
Contiene información sobre las directivas de almacenamiento y los volúmenes [configuración del servidor](table_engines/mergetree.md#table_engine-mergetree-multiple-volumes_configure).

View File

@ -1,4 +1,4 @@
# ColapsarMergeTree {#table-engine-collapsingmergetree}
# ColapsarMergeTree {#table_engine-collapsingmergetree}
El motor hereda de [Método de codificación de datos:](mergetree.md) y agrega la lógica de las filas que colapsan al algoritmo de fusión de partes de datos.
@ -57,7 +57,7 @@ Todos los parámetros excepto `sign` el mismo significado que en `MergeTree`.
</details>
## Derrumbar {#table-engine-collapsingmergetree-collapsing}
## Derrumbar {#table_engine-collapsingmergetree-collapsing}
### Datos {#data}
@ -105,7 +105,7 @@ Por qué necesitamos 2 filas para cada cambio leído en el [Algoritmo](#table_en
2. Las matrices de largo crecimiento en columnas reducen la eficiencia del motor debido a la carga para escribir. Los datos más sencillos, mayor será la eficiencia.
3. El `SELECT` Los resultados dependen en gran medida de la consistencia del historial de cambios de objetos. Sea preciso al preparar los datos para insertarlos. Puede obtener resultados impredecibles en datos incoherentes, por ejemplo, valores negativos para métricas no negativas, como la profundidad de la sesión.
### Algoritmo {#table-engine-collapsingmergetree-collapsing-algorithm}
### Algoritmo {#table_engine-collapsingmergetree-collapsing-algorithm}
Cuando ClickHouse combina partes de datos, cada grupo de filas consecutivas tiene la misma clave de ordenación (`ORDER BY`) se reduce a no más de dos filas, una con `Sign = 1` (“state” fila) y otro con `Sign = -1` (“cancel” fila). En otras palabras, las entradas colapsan.

View File

@ -1,4 +1,4 @@
# File {#table-engines-file}
# File {#table_engines-file}
El motor de tabla de archivos mantiene los datos en un archivo en uno de los [file
Formato](../../interfaces/formats.md#formats) (TabSeparated, Native, etc.).

View File

@ -1,4 +1,4 @@
# GenerateRandom {#table-engines-generate}
# GenerateRandom {#table_engines-generate}
El motor de tabla GenerateRandom produce datos aleatorios para el esquema de tabla determinado.

View File

@ -1,4 +1,4 @@
# HDFS {#table-engines-hdfs}
# HDFS {#table_engines-hdfs}
Este motor proporciona integración con [Acerca de nosotros](https://en.wikipedia.org/wiki/Apache_Hadoop) permitiendo gestionar datos sobre [HDFS](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html)a través de ClickHouse. Este motor es similar
Angeles [File](file.md) y [URL](url.md) motores, pero proporciona características específicas de Hadoop.

View File

@ -1,4 +1,4 @@
# Motores de mesa {#table-engines}
# Motores de mesa {#table_engines}
El motor de tabla (tipo de tabla) determina:
@ -64,7 +64,7 @@ Motores en la familia:
- [Memoria](memory.md)
- [Búfer](buffer.md)
## Columnas virtuales {#table-engines-virtual-columns}
## Columnas virtuales {#table_engines-virtual-columns}
La columna virtual es un atributo de motor de tabla integral que se define en el código fuente del motor.

View File

@ -8,7 +8,7 @@ Kafka te permite:
- Organice el almacenamiento tolerante a fallos.
- Secuencias de proceso a medida que estén disponibles.
## Creación de una tabla {#table-engine-kafka-creating-a-table}
## Creación de una tabla {#table_engine-kafka-creating-a-table}
``` sql
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]

View File

@ -1,4 +1,4 @@
# Método de codificación de datos: {#table-engines-mergetree}
# Método de codificación de datos: {#table_engines-mergetree}
El `MergeTree` motor y otros motores de esta familia (`*MergeTree`) son los motores de mesa ClickHouse más robustos.
@ -25,7 +25,7 @@ Principales características:
!!! info "INFO"
El [Fusionar](merge.md) el motor no pertenece al `*MergeTree` Familia.
## Creación de una tabla {#table-engine-mergetree-creating-a-table}
## Creación de una tabla {#table_engine-mergetree-creating-a-table}
``` sql
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
@ -244,7 +244,7 @@ ClickHouse no puede usar un índice si los valores de la clave principal en el r
ClickHouse usa esta lógica no solo para secuencias de días del mes, sino para cualquier clave principal que represente una secuencia parcialmente monotónica.
### Índices de saltos de datos (experimental) {#table-engine-mergetree-data-skipping-indexes}
### Índices de saltos de datos (experimental) {#table_engine-mergetree-data_skipping-indexes}
La declaración de índice se encuentra en la sección de columnas del `CREATE` consulta.
@ -365,7 +365,7 @@ Para el acceso simultáneo a tablas, usamos versiones múltiples. En otras palab
La lectura de una tabla se paralela automáticamente.
## TTL para columnas y tablas {#table-engine-mergetree-ttl}
## TTL para columnas y tablas {#table_engine-mergetree-ttl}
Determina la duración de los valores.
@ -475,7 +475,7 @@ Si realiza el `SELECT` consulta entre fusiones, puede obtener datos caducados. P
[Artículo Original](https://clickhouse.tech/docs/es/operations/table_engines/mergetree/) <!--hide-->
## Uso de varios dispositivos de bloque para el almacenamiento de datos {#table-engine-mergetree-multiple-volumes}
## Uso de varios dispositivos de bloque para el almacenamiento de datos {#table_engine-mergetree-multiple-volumes}
### Implantación {#introduction}
@ -492,7 +492,7 @@ La parte de datos es la unidad móvil mínima para `MergeTree`-mesas de motor. L
Los nombres dados a las entidades descritas se pueden encontrar en las tablas del sistema, [sistema.almacenamiento\_policies](../system_tables.md#system_tables-storage_policies) y [sistema.Discoteca](../system_tables.md#system_tables-disks). Para aplicar una de las directivas de almacenamiento configuradas para una tabla, `storage_policy` establecimiento de `MergeTree`-mesas de la familia del motor.
### Configuración {#table-engine-mergetree-multiple-volumes-configure}
### Configuración {#table_engine-mergetree-multiple-volumes-configure}
Los discos, los volúmenes y las políticas de almacenamiento deben declararse `<storage_configuration>` etiqueta ya sea en el archivo principal `config.xml` o en un archivo distinto en el `config.d` Directorio.

View File

@ -1,4 +1,4 @@
# Replicación de datos {#table-engines-replication}
# Replicación de datos {#table_engines-replication}
La replicación solo se admite para tablas de la familia MergeTree:

View File

@ -4,7 +4,7 @@ Este motor pertenece a la familia de motores de registro. Consulte las propiedad
Utilice este motor en escenarios en los que necesite escribir muchas tablas con una pequeña cantidad de datos (menos de 1 millón de filas).
## Creación de una tabla {#table-engines-stripelog-creating-a-table}
## Creación de una tabla {#table_engines-stripelog-creating-a-table}
``` sql
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
@ -17,7 +17,7 @@ CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
Vea la descripción detallada del [CREAR TABLA](../../query_language/create.md#create-table-query) consulta.
## Escribir los datos {#table-engines-stripelog-writing-the-data}
## Escribir los datos {#table_engines-stripelog-writing-the-data}
El `StripeLog` el motor almacena todas las columnas en un archivo. Para cada `INSERT` ClickHouse agrega el bloque de datos al final de un archivo de tabla, escribiendo columnas una por una.
@ -28,11 +28,11 @@ Para cada tabla, ClickHouse escribe los archivos:
El `StripeLog` el motor no soporta el `ALTER UPDATE` y `ALTER DELETE` operación.
## Lectura de los datos {#table-engines-stripelog-reading-the-data}
## Lectura de los datos {#table_engines-stripelog-reading-the-data}
El archivo con marcas permite ClickHouse paralelizar la lectura de datos. Esto significa que un `SELECT` consulta devuelve filas en un orden impredecible. Descripción `ORDER BY` cláusula para ordenar filas.
## Ejemplo de uso {#table-engines-stripelog-example-of-use}
## Ejemplo de uso {#table_engines-stripelog-example-of-use}
Creación de una tabla:

View File

@ -1,4 +1,4 @@
# Nombre de la red inalámbrica (SSID):) {#table-engines-url}
# Nombre de la red inalámbrica (SSID):) {#table_engines-url}
Administra datos en un servidor HTTP/HTTPS remoto. Este motor es similar
Angeles [File](file.md) motor.

View File

@ -72,7 +72,7 @@ Todos los parámetros excepto `sign` y `version` el mismo significado que en `Me
</details>
## Derrumbar {#table-engines-versionedcollapsingmergetree}
## Derrumbar {#table_engines-versionedcollapsingmergetree}
### Datos {#data}
@ -120,7 +120,7 @@ Para averiguar por qué necesitamos dos filas para cada cambio, vea [Algoritmo](
2. Las matrices de largo crecimiento en columnas reducen la eficiencia del motor debido a la carga para escribir. Cuanto más sencillos sean los datos, mejor será la eficiencia.
3. `SELECT` Los resultados dependen en gran medida de la coherencia del historial de cambios de objetos. Sea preciso al preparar los datos para insertarlos. Puede obtener resultados impredecibles con datos incoherentes, como valores negativos para métricas no negativas, como la profundidad de la sesión.
### Algoritmo {#table-engines-versionedcollapsingmergetree-algorithm}
### Algoritmo {#table_engines-versionedcollapsingmergetree-algorithm}
Cuando ClickHouse combina partes de datos, elimina cada par de filas que tienen la misma clave principal y versión y diferentes `Sign`. El orden de las filas no importa.

View File

@ -1,4 +1,4 @@
# Vista {#table-engines-view}
# Vista {#table_engines-view}
Se utiliza para implementar vistas (para obtener más información, consulte `CREATE VIEW query`). No almacena datos, pero solo almacena los datos especificados `SELECT` consulta. Al leer desde una tabla, ejecuta esta consulta (y elimina todas las columnas innecesarias de la consulta).

View File

@ -1,4 +1,4 @@
# Combinadores de funciones agregadas {#aggregate-functions-combinators}
# Combinadores de funciones agregadas {#aggregate_functions_combinators}
El nombre de una función agregada puede tener un sufijo anexado. Esto cambia la forma en que funciona la función de agregado.
@ -32,11 +32,11 @@ Para trabajar con estos estados, use:
- [-Fusionar](#aggregate_functions_combinators_merge) combinador.
- [-MergeState](#aggregate_functions_combinators_mergestate) combinador.
## -Fusionar {#aggregate-functions-combinators-merge}
## -Fusionar {#aggregate_functions_combinators-merge}
Si aplica este combinador, la función de agregado toma el estado de agregación intermedio como argumento, combina los estados para finalizar la agregación y devuelve el valor resultante.
## -MergeState {#aggregate-functions-combinators-mergestate}
## -MergeState {#aggregate_functions_combinators-mergestate}
Combina los estados de agregación intermedios de la misma manera que el combinador -Merge. Sin embargo, no devuelve el valor resultante, sino un estado de agregación intermedio, similar al combinador -State.

View File

@ -1,4 +1,4 @@
# Funciones agregadas paramétricas {#aggregate-functions-parametric}
# Funciones agregadas paramétricas {#aggregate_functions_parametric}
Algunas funciones agregadas pueden aceptar no solo columnas de argumentos (utilizadas para la compresión), sino un conjunto de parámetros: constantes para la inicialización. La sintaxis es de dos pares de corchetes en lugar de uno. El primero es para parámetros, y el segundo es para argumentos.

View File

@ -1,4 +1,4 @@
## ALTERAR {#query-language-queries-alter}
## ALTERAR {#query_language_queries_alter}
El `ALTER` consulta sólo se admite para `*MergeTree` mesas, así como `Merge`y`Distributed`. La consulta tiene varias variaciones.
@ -23,7 +23,7 @@ Se admiten las siguientes acciones:
Estas acciones se describen en detalle a continuación.
#### AÑADIR COLUMNA {#alter-add-column}
#### AÑADIR COLUMNA {#alter_add-column}
``` sql
ADD COLUMN [IF NOT EXISTS] name [type] [default_expr] [codec] [AFTER name_after]
@ -43,7 +43,7 @@ Ejemplo:
ALTER TABLE visits ADD COLUMN browser String AFTER user_id
```
#### COLUMNA DE GOTA {#alter-drop-column}
#### COLUMNA DE GOTA {#alter_drop-column}
``` sql
DROP COLUMN [IF EXISTS] name
@ -59,7 +59,7 @@ Ejemplo:
ALTER TABLE visits DROP COLUMN browser
```
#### Sistema abierto. {#alter-clear-column}
#### Sistema abierto. {#alter_clear-column}
``` sql
CLEAR COLUMN [IF EXISTS] name IN PARTITION partition_name
@ -75,7 +75,7 @@ Ejemplo:
ALTER TABLE visits CLEAR COLUMN browser IN PARTITION tuple()
```
#### COLUMNA DE COMENTARIOS {#alter-comment-column}
#### COLUMNA DE COMENTARIOS {#alter_comment-column}
``` sql
COMMENT COLUMN [IF EXISTS] name 'comment'
@ -93,7 +93,7 @@ Ejemplo:
ALTER TABLE visits COMMENT COLUMN browser 'The table shows the browser used for accessing the site.'
```
#### COLUMNA MODIFICAR {#alter-modify-column}
#### COLUMNA MODIFICAR {#alter_modify-column}
``` sql
MODIFY COLUMN [IF EXISTS] name [type] [default_expr] [TTL]
@ -192,7 +192,7 @@ Comprobación de restricciones *no se ejecutará* en los datos existentes si se
Todos los cambios en las tablas replicadas se transmiten a ZooKeeper, por lo que se aplicarán en otras réplicas.
### Manipulaciones con particiones y piezas {#alter-manipulations-with-partitions}
### Manipulaciones con particiones y piezas {#alter_manipulations-with-partitions}
Las siguientes operaciones con [partición](../operations/table_engines/custom_partitioning_key.md) están disponibles:
@ -231,7 +231,7 @@ Después de ejecutar la consulta, puede hacer lo que quiera con los datos en el
Esta consulta se replica mueve los datos a la `detached` directorio en todas las réplicas. Tenga en cuenta que solo puede ejecutar esta consulta en una réplica de líder. Para averiguar si una réplica es un líder, realice `SELECT` Consulta a la [sistema.Replica](../operations/system_tables.md#system_tables-replicas) tabla. Alternativamente, es más fácil hacer un `DETACH` consulta en todas las réplicas: todas las réplicas producen una excepción, excepto la réplica líder.
#### PARTICIÓN DE CAÍDA {#alter-drop-partition}
#### PARTICIÓN DE CAÍDA {#alter_drop-partition}
``` sql
ALTER TABLE table_name DROP PARTITION partition_expr
@ -243,7 +243,7 @@ Lea cómo configurar la expresión de partición en una sección [Cómo especifi
La consulta se replica: elimina los datos de todas las réplicas.
#### CAÍDA DE DESPRENDIMIENTO DE LA PARTICIÓN\|PARTE {#alter-drop-detached}
#### CAÍDA DE DESPRENDIMIENTO DE LA PARTICIÓN\|PARTE {#alter_drop-detached}
``` sql
ALTER TABLE table_name DROP DETACHED PARTITION|PART partition_expr
@ -252,7 +252,7 @@ ALTER TABLE table_name DROP DETACHED PARTITION|PART partition_expr
Quita la parte especificada o todas las partes de la partición especificada de `detached`.
Más información sobre cómo establecer la expresión de partición en una sección [Cómo especificar la expresión de partición](#alter-how-to-specify-part-expr).
#### ADJUNTA PARTICIÓN\|PARTE {#alter-attach-partition}
#### ADJUNTA PARTICIÓN\|PARTE {#alter_attach-partition}
``` sql
ALTER TABLE table_name ATTACH PARTITION|PART partition_expr
@ -271,7 +271,7 @@ Esta consulta se replica. El iniciador de réplica comprueba si hay datos en el
Entonces puedes poner datos en el `detached` en una réplica, y utilice el directorio `ALTER ... ATTACH` consulta para agregarlo a la tabla en todas las réplicas.
#### ADJUNTA PARTICIÓN DE {#alter-attach-partition-from}
#### ADJUNTA PARTICIÓN DE {#alter_attach-partition-from}
``` sql
ALTER TABLE table2 ATTACH PARTITION partition_expr FROM table1
@ -284,7 +284,7 @@ Para que la consulta se ejecute correctamente, se deben cumplir las siguientes c
- Ambas tablas deben tener la misma estructura.
- Ambas tablas deben tener la misma clave de partición.
#### REEMPLAZAR LA PARTICIÓN {#alter-replace-partition}
#### REEMPLAZAR LA PARTICIÓN {#alter_replace-partition}
``` sql
ALTER TABLE table2 REPLACE PARTITION partition_expr FROM table1
@ -297,7 +297,7 @@ Para que la consulta se ejecute correctamente, se deben cumplir las siguientes c
- Ambas tablas deben tener la misma estructura.
- Ambas tablas deben tener la misma clave de partición.
#### MUEVA LA PARTICIÓN A LA MESA {#alter-move-to-table-partition}
#### MUEVA LA PARTICIÓN A LA MESA {#alter_move_to_table-partition}
``` sql
ALTER TABLE table_source MOVE PARTITION partition_expr TO TABLE table_dest
@ -312,7 +312,7 @@ Para que la consulta se ejecute correctamente, se deben cumplir las siguientes c
- Ambas tablas deben ser de la misma familia de motores. (replicado o no replicado)
- Ambas tablas deben tener la misma política de almacenamiento.
#### COLUMNA CLARA EN PARTICIPACIÓN {#alter-clear-column-partition}
#### COLUMNA CLARA EN PARTICIPACIÓN {#alter_clear-column-partition}
``` sql
ALTER TABLE table_name CLEAR COLUMN column_name IN PARTITION partition_expr
@ -326,7 +326,7 @@ Ejemplo:
ALTER TABLE visits CLEAR COLUMN hour in PARTITION 201902
```
#### CONGELAR PARTICIÓN {#alter-freeze-partition}
#### CONGELAR PARTICIÓN {#alter_freeze-partition}
``` sql
ALTER TABLE table_name FREEZE [PARTITION partition_expr]
@ -365,7 +365,7 @@ La restauración desde una copia de seguridad no requiere detener el servidor.
Para obtener más información sobre las copias de seguridad y la restauración de datos, consulte [Copia de seguridad de datos](../operations/backup.md) apartado.
#### ÍNDICE CLARO EN PARTICIPACIÓN {#alter-clear-index-partition}
#### ÍNDICE CLARO EN PARTICIPACIÓN {#alter_clear-index-partition}
``` sql
ALTER TABLE table_name CLEAR INDEX index_name IN PARTITION partition_expr
@ -373,7 +373,7 @@ ALTER TABLE table_name CLEAR INDEX index_name IN PARTITION partition_expr
La consulta funciona de forma similar a `CLEAR COLUMN`, pero restablece un índice en lugar de una columna de datos.
#### PARTICIÓN FETCH {#alter-fetch-partition}
#### PARTICIÓN FETCH {#alter_fetch-partition}
``` sql
ALTER TABLE table_name FETCH PARTITION partition_expr FROM 'path-in-zookeeper'
@ -402,7 +402,7 @@ Antes de descargar, el sistema verifica si la partición existe y la estructura
Aunque se llama a la consulta `ALTER TABLE`, no cambia la estructura de la tabla y no cambiar inmediatamente los datos disponibles en la tabla.
#### PARTICIÓN DE MOVIMIENTO\|PARTE {#alter-move-partition}
#### PARTICIÓN DE MOVIMIENTO\|PARTE {#alter_move-partition}
Mueve particiones o partes de datos a otro volumen o disco para `MergeTree`-mesas de motor. Ver [Uso de varios dispositivos de bloque para el almacenamiento de datos](../operations/table_engines/mergetree.md#table_engine-mergetree-multiple-volumes).

View File

@ -78,7 +78,7 @@ o
LAYOUT(FLAT())
```
### Hashed {#dicts-external-dicts-dict-layout-hashed}
### Hashed {#dicts-external_dicts_dict_layout-hashed}
El diccionario está completamente almacenado en la memoria en forma de una tabla hash. El diccionario puede contener cualquier número de elementos con cualquier identificador En la práctica, el número de claves puede alcanzar decenas de millones de elementos.
@ -98,7 +98,7 @@ o
LAYOUT(HASHED())
```
### Sistema abierto. {#dicts-external-dicts-dict-layout-sparse-hashed}
### Sistema abierto. {#dicts-external_dicts_dict_layout-sparse_hashed}
Similar a `hashed`, pero usa menos memoria a favor más uso de CPU.

View File

@ -42,7 +42,7 @@ Tipos de fuentes (`source_type`):
- [MongoDB](#dicts-external_dicts_dict_sources-mongodb)
- [Redis](#dicts-external_dicts_dict_sources-redis)
## Archivo Local {#dicts-external-dicts-dict-sources-local-file}
## Archivo Local {#dicts-external_dicts_dict_sources-local_file}
Ejemplo de configuración:
@ -66,7 +66,7 @@ Configuración de campos:
- `path` The absolute path to the file.
- `format` The file format. All the formats described in “[Formato](../../interfaces/formats.md#formats)” son compatibles.
## Archivo ejecutable {#dicts-external-dicts-dict-sources-executable}
## Archivo ejecutable {#dicts-external_dicts_dict_sources-executable}
Trabajar con archivos ejecutables depende de [cómo se almacena el diccionario en la memoria](external_dicts_dict_layout.md). Si el diccionario se almacena usando `cache` y `complex_key_cache`, ClickHouse requests the necessary keys by sending a request to the executable files STDIN. Otherwise, ClickHouse starts executable file and treats its output as dictionary data.
@ -92,7 +92,7 @@ Configuración de campos:
- `command` The absolute path to the executable file, or the file name (if the program directory is written to `PATH`).
- `format` The file format. All the formats described in “[Formato](../../interfaces/formats.md#formats)” son compatibles.
## HTTP(s)) {#dicts-external-dicts-dict-sources-http}
## HTTP(s)) {#dicts-external_dicts_dict_sources-http}
Trabajar con un servidor HTTP depende de [cómo se almacena el diccionario en la memoria](external_dicts_dict_layout.md). Si el diccionario se almacena usando `cache` y `complex_key_cache`, ClickHouse solicita las claves necesarias enviando una solicitud a través del `POST` método.
@ -142,7 +142,7 @@ Configuración de campos:
- `name` Identifiant name used for the header send on the request.
- `value` Value set for a specific identifiant name.
## ODBC {#dicts-external-dicts-dict-sources-odbc}
## ODBC {#dicts-external_dicts_dict_sources-odbc}
Puede utilizar este método para conectar cualquier base de datos que tenga un controlador ODBC.
@ -386,7 +386,7 @@ LIFETIME(MIN 300 MAX 360)
## DBMS {#dbms}
### MySQL {#dicts-external-dicts-dict-sources-mysql}
### MySQL {#dicts-external_dicts_dict_sources-mysql}
Ejemplo de configuración:
@ -483,7 +483,7 @@ SOURCE(MYSQL(
))
```
### Haga clic en Casa {#dicts-external-dicts-dict-sources-clickhouse}
### Haga clic en Casa {#dicts-external_dicts_dict_sources-clickhouse}
Ejemplo de configuración:
@ -526,7 +526,7 @@ Configuración de campos:
- `where` The selection criteria. May be omitted.
- `invalidate_query` Query for checking the dictionary status. Optional parameter. Read more in the section [Actualización de diccionarios](external_dicts_dict_lifetime.md).
### MongoDB {#dicts-external-dicts-dict-sources-mongodb}
### MongoDB {#dicts-external_dicts_dict_sources-mongodb}
Ejemplo de configuración:
@ -565,7 +565,7 @@ Configuración de campos:
- `db` Name of the database.
- `collection` Name of the collection.
### Redis {#dicts-external-dicts-dict-sources-redis}
### Redis {#dicts-external_dicts_dict_sources-redis}
Ejemplo de configuración:

View File

@ -42,7 +42,7 @@ Los atributos se describen en el cuerpo de la consulta:
- `PRIMARY KEY` — [Columna clave](external_dicts_dict_structure.md#ext_dict_structure-key)
- `AttrName AttrType` — [Columna de datos](external_dicts_dict_structure.md#ext_dict_structure-attributes). Puede haber un número múltiple de atributos.
## Clave {#ext-dict-structure-key}
## Clave {#ext_dict_structure-key}
ClickHouse admite los siguientes tipos de claves:
@ -54,7 +54,7 @@ Una estructura xml puede contener `<id>` o `<key>`. La consulta DDL debe contene
!!! warning "Advertencia"
No debe describir la clave como un atributo.
### Tecla numérica {#ext-dict-numeric-key}
### Tecla numérica {#ext_dict-numeric-key}
Tipo: `UInt64`.
@ -122,7 +122,7 @@ PRIMARY KEY field1, field2
Para una consulta al `dictGet*` función, una tupla se pasa como la clave. Ejemplo: `dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2))`.
## Atributo {#ext-dict-structure-attributes}
## Atributo {#ext_dict_structure-attributes}
Ejemplo de configuración:

View File

@ -1,4 +1,4 @@
# Diccionarios internos {#internal-dicts}
# Diccionarios internos {#internal_dicts}
ClickHouse contiene una función integrada para trabajar con una geobase.

View File

@ -63,7 +63,7 @@ Difiere de modulo en que devuelve cero cuando el divisor es cero.
Calcula un número con el signo inverso. El resultado siempre está firmado.
## abs (a) {#arithm-func-abs}
## abs (a) {#arithm_func-abs}
Calcula el valor absoluto del número (a). Es decir, si un \< 0, devuelve -a. Para los tipos sin signo no hace nada. Para los tipos de enteros con signo, devuelve un número sin signo.

View File

@ -0,0 +1,974 @@
# Funciones para trabajar con matrices {#functions-for-working-with-arrays}
## vaciar {#function-empty}
Devuelve 1 para una matriz vacía, o 0 para una matriz no vacía.
El tipo de resultado es UInt8.
La función también funciona para cadenas.
## notEmpty {#function-notempty}
Devuelve 0 para una matriz vacía, o 1 para una matriz no vacía.
El tipo de resultado es UInt8.
La función también funciona para cadenas.
## longitud {#array_functions-length}
Devuelve el número de elementos de la matriz.
El tipo de resultado es UInt64.
La función también funciona para cadenas.
## Para obtener más información, consulta nuestra Política de privacidad y nuestras Condiciones de uso {#emptyarrayuint8-emptyarrayuint16-emptyarrayuint32-emptyarrayuint64}
## Para obtener más información, consulta nuestra Política de privacidad y nuestras Condiciones de uso {#emptyarrayint8-emptyarrayint16-emptyarrayint32-emptyarrayint64}
## Para obtener más información, consulta nuestra Política de privacidad y nuestras Condiciones de uso {#emptyarrayfloat32-emptyarrayfloat64}
## emptyArrayDate, emptyArrayDateTime {#emptyarraydate-emptyarraydatetime}
## emptyArrayString {#emptyarraystring}
Acepta cero argumentos y devuelve una matriz vacía del tipo apropiado.
## emptyArrayToSingle {#emptyarraytosingle}
Acepta una matriz vacía y devuelve una matriz de un elemento que es igual al valor predeterminado.
## rango(final), rango(inicio, fin \[, paso\]) {#rangeend-rangestart-end-step}
Devuelve una matriz de números de principio a fin-1 por paso.
Si el argumento `start` no se especifica, el valor predeterminado es 0.
Si el argumento `step` no se especifica, el valor predeterminado es 1.
Se comporta casi como pitónico `range`. Pero la diferencia es que todos los tipos de argumentos deben ser `UInt` numero.
Por si acaso, se produce una excepción si se crean matrices con una longitud total de más de 100,000,000 de elementos en un bloque de datos.
## array(x1, …), operator \[x1, …\] {#arrayx1-operator-x1}
Crea una matriz a partir de los argumentos de la función.
Los argumentos deben ser constantes y tener tipos que tengan el tipo común más pequeño. Se debe pasar al menos un argumento, porque de lo contrario no está claro qué tipo de matriz crear. Es decir, no puede usar esta función para crear una matriz vacía (para hacerlo, use el emptyArray\* función descrita anteriormente).
Devuelve un Array(T) tipo resultado, donde T es el tipo común más pequeño de los argumentos pasados.
## arrayConcat {#arrayconcat}
Combina matrices pasadas como argumentos.
``` sql
arrayConcat(arrays)
```
**Parámetros**
- `arrays` Arbitrary number of arguments of [Matriz](../../data_types/array.md) tipo.
**Ejemplo**
<!-- -->
``` sql
SELECT arrayConcat([1, 2], [3, 4], [5, 6]) AS res
```
``` text
┌─res───────────┐
│ [1,2,3,4,5,6] │
└───────────────┘
```
## Por ejemplo, el operador arr\[n\] {#arrayelementarr-n-operator-arrn}
Obtener el elemento con el índice `n` de la matriz `arr`. `n` debe ser de cualquier tipo entero.
Los índices de una matriz comienzan desde uno.
Los índices negativos son compatibles. En este caso, selecciona el elemento correspondiente numerado desde el final. Por ejemplo, `arr[-1]` es el último elemento de la matriz.
Si el índice cae fuera de los límites de una matriz, devuelve algún valor predeterminado (0 para números, una cadena vacía para cadenas, etc.), a excepción del caso con una matriz no constante y un índice constante 0 (en este caso habrá un error `Array indices are 1-based`).
## Tiene(arr, elem) {#hasarr-elem}
Comprueba si el arr la matriz tiene el elem elemento.
Devuelve 0 si el elemento no está en la matriz, o 1 si es.
`NULL` se procesa como un valor.
``` sql
SELECT has([1, 2, NULL], NULL)
```
``` text
┌─has([1, 2, NULL], NULL)─┐
│ 1 │
└─────────────────────────┘
```
## TieneTodo {#hasall}
Comprueba si una matriz es un subconjunto de otra.
``` sql
hasAll(set, subset)
```
**Parámetros**
- `set` Array of any type with a set of elements.
- `subset` Array of any type with elements that should be tested to be a subset of `set`.
**Valores de retorno**
- `1`, si `set` contiene todos los elementos de `subset`.
- `0`, de lo contrario.
**Propiedades peculiares**
- Una matriz vacía es un subconjunto de cualquier matriz.
- `Null` procesado como un valor.
- El orden de los valores en ambas matrices no importa.
**Ejemplos**
`SELECT hasAll([], [])` devoluciones 1.
`SELECT hasAll([1, Null], [Null])` devoluciones 1.
`SELECT hasAll([1.0, 2, 3, 4], [1, 3])` devoluciones 1.
`SELECT hasAll(['a', 'b'], ['a'])` devoluciones 1.
`SELECT hasAll([1], ['a'])` devuelve 0.
`SELECT hasAll([[1, 2], [3, 4]], [[1, 2], [3, 5]])` devuelve 0.
## TieneCualquier {#hasany}
Comprueba si dos matrices tienen intersección por algunos elementos.
``` sql
hasAny(array1, array2)
```
**Parámetros**
- `array1` Array of any type with a set of elements.
- `array2` Array of any type with a set of elements.
**Valores de retorno**
- `1`, si `array1` y `array2` tienen un elemento similar al menos.
- `0`, de lo contrario.
**Propiedades peculiares**
- `Null` procesado como un valor.
- El orden de los valores en ambas matrices no importa.
**Ejemplos**
`SELECT hasAny([1], [])` devoluciones `0`.
`SELECT hasAny([Null], [Null, 1])` devoluciones `1`.
`SELECT hasAny([-128, 1., 512], [1])` devoluciones `1`.
`SELECT hasAny([[1, 2], [3, 4]], ['a', 'c'])` devoluciones `0`.
`SELECT hasAll([[1, 2], [3, 4]], [[1, 2], [1, 2]])` devoluciones `1`.
## ¿Cómo puedo hacerlo?) {#indexofarr-x}
Devuelve el índice de la primera x elemento (comenzando desde 1) si está en la matriz, o 0 si no lo está.
Ejemplo:
``` sql
SELECT indexOf([1, 3, NULL, NULL], NULL)
```
``` text
┌─indexOf([1, 3, NULL, NULL], NULL)─┐
│ 3 │
└───────────────────────────────────┘
```
Elementos establecidos en `NULL` se manejan como valores normales.
## Cuenta igual (arr, x) {#countequalarr-x}
Devuelve el número de elementos de la matriz igual a x. Equivalente a arrayCount (elem -\> elem = x, arr).
`NULL` los elementos se manejan como valores separados.
Ejemplo:
``` sql
SELECT countEqual([1, 2, NULL, NULL], NULL)
```
``` text
┌─countEqual([1, 2, NULL, NULL], NULL)─┐
│ 2 │
└──────────────────────────────────────┘
```
## Información detallada) {#array_functions-arrayenumerate}
Returns the array \[1, 2, 3, …, length (arr) \]
Esta función se utiliza normalmente con ARRAY JOIN. Permite contar algo solo una vez para cada matriz después de aplicar ARRAY JOIN . Ejemplo:
``` sql
SELECT
count() AS Reaches,
countIf(num = 1) AS Hits
FROM test.hits
ARRAY JOIN
GoalsReached,
arrayEnumerate(GoalsReached) AS num
WHERE CounterID = 160656
LIMIT 10
```
``` text
┌─Reaches─┬──Hits─┐
│ 95606 │ 31406 │
└─────────┴───────┘
```
En este ejemplo, Reaches es el número de conversiones (las cadenas recibidas después de aplicar ARRAY JOIN) y Hits es el número de páginas vistas (cadenas antes de ARRAY JOIN). En este caso particular, puede obtener el mismo resultado de una manera más fácil:
``` sql
SELECT
sum(length(GoalsReached)) AS Reaches,
count() AS Hits
FROM test.hits
WHERE (CounterID = 160656) AND notEmpty(GoalsReached)
```
``` text
┌─Reaches─┬──Hits─┐
│ 95606 │ 31406 │
└─────────┴───────┘
```
Esta función también se puede utilizar en funciones de orden superior. Por ejemplo, puede usarlo para obtener índices de matriz para elementos que coinciden con una condición.
## arrayEnumerateUniq(arr, …) {#arrayenumerateuniqarr}
Devuelve una matriz del mismo tamaño que la matriz de origen, indicando para cada elemento cuál es su posición entre los elementos con el mismo valor.
Por ejemplo: arrayEnumerateUniq(\[10, 20, 10, 30\]) = \[1, 1, 2, 1\].
Esta función es útil cuando se utiliza ARRAY JOIN y la agregación de elementos de matriz.
Ejemplo:
``` sql
SELECT
Goals.ID AS GoalID,
sum(Sign) AS Reaches,
sumIf(Sign, num = 1) AS Visits
FROM test.visits
ARRAY JOIN
Goals,
arrayEnumerateUniq(Goals.ID) AS num
WHERE CounterID = 160656
GROUP BY GoalID
ORDER BY Reaches DESC
LIMIT 10
```
``` text
┌──GoalID─┬─Reaches─┬─Visits─┐
│ 53225 │ 3214 │ 1097 │
│ 2825062 │ 3188 │ 1097 │
│ 56600 │ 2803 │ 488 │
│ 1989037 │ 2401 │ 365 │
│ 2830064 │ 2396 │ 910 │
│ 1113562 │ 2372 │ 373 │
│ 3270895 │ 2262 │ 812 │
│ 1084657 │ 2262 │ 345 │
│ 56599 │ 2260 │ 799 │
│ 3271094 │ 2256 │ 812 │
└─────────┴─────────┴────────┘
```
En este ejemplo, cada ID de objetivo tiene un cálculo del número de conversiones (cada elemento de la estructura de datos anidados Objetivos es un objetivo alcanzado, al que nos referimos como conversión) y el número de sesiones. Sin ARRAY JOIN, habríamos contado el número de sesiones como sum(Sign) . Pero en este caso particular, las filas se multiplicaron por la estructura de Objetivos anidados, por lo que para contar cada sesión una vez después de esto, aplicamos una condición al valor de la función arrayEnumerateUniq(Goals.ID) .
La función arrayEnumerateUniq puede tomar varias matrices del mismo tamaño que los argumentos. En este caso, la singularidad se considera para tuplas de elementos en las mismas posiciones en todas las matrices.
``` sql
SELECT arrayEnumerateUniq([1, 1, 1, 2, 2, 2], [1, 1, 2, 1, 1, 2]) AS res
```
``` text
┌─res───────────┐
│ [1,2,1,1,2,1] │
└───────────────┘
```
Esto es necesario cuando se utiliza ARRAY JOIN con una estructura de datos anidados y una agregación adicional a través de múltiples elementos de esta estructura.
## arrayPopBack {#arraypopback}
Quita el último elemento de la matriz.
``` sql
arrayPopBack(array)
```
**Parámetros**
- `array` Array.
**Ejemplo**
``` sql
SELECT arrayPopBack([1, 2, 3]) AS res
```
``` text
┌─res───┐
│ [1,2] │
└───────┘
```
## arrayPopFront {#arraypopfront}
Quita el primer elemento de la matriz.
``` sql
arrayPopFront(array)
```
**Parámetros**
- `array` Array.
**Ejemplo**
``` sql
SELECT arrayPopFront([1, 2, 3]) AS res
```
``` text
┌─res───┐
│ [2,3] │
└───────┘
```
## arrayPushBack {#arraypushback}
Agrega un elemento al final de la matriz.
``` sql
arrayPushBack(array, single_value)
```
**Parámetros**
- `array` Array.
- `single_value` A single value. Only numbers can be added to an array with numbers, and only strings can be added to an array of strings. When adding numbers, ClickHouse automatically sets the `single_value` tipo para el tipo de datos de la matriz. Para obtener más información sobre los tipos de datos en ClickHouse, consulte “[Tipos de datos](../../data_types/index.md#data_types)”. Puede ser `NULL`. La función agrega un `NULL` elemento de matriz a una matriz, y el tipo de elementos de matriz se convierte en `Nullable`.
**Ejemplo**
``` sql
SELECT arrayPushBack(['a'], 'b') AS res
```
``` text
┌─res───────┐
│ ['a','b'] │
└───────────┘
```
## arrayPushFront {#arraypushfront}
Agrega un elemento al principio de la matriz.
``` sql
arrayPushFront(array, single_value)
```
**Parámetros**
- `array` Array.
- `single_value` A single value. Only numbers can be added to an array with numbers, and only strings can be added to an array of strings. When adding numbers, ClickHouse automatically sets the `single_value` tipo para el tipo de datos de la matriz. Para obtener más información sobre los tipos de datos en ClickHouse, consulte “[Tipos de datos](../../data_types/index.md#data_types)”. Puede ser `NULL`. La función agrega un `NULL` elemento de matriz a una matriz, y el tipo de elementos de matriz se convierte en `Nullable`.
**Ejemplo**
``` sql
SELECT arrayPushFront(['b'], 'a') AS res
```
``` text
┌─res───────┐
│ ['a','b'] │
└───────────┘
```
## arrayResize {#arrayresize}
Cambia la longitud de la matriz.
``` sql
arrayResize(array, size[, extender])
```
**Parámetros:**
- `array` — Array.
- `size` — Required length of the array.
- Si `size` es menor que el tamaño original de la matriz, la matriz se trunca desde la derecha.
- Si `size` es mayor que el tamaño inicial de la matriz, la matriz se extiende a la derecha con `extender` valores predeterminados para el tipo de datos de los elementos de la matriz.
- `extender` — Value for extending an array. Can be `NULL`.
**Valor devuelto:**
Una matriz de longitud `size`.
**Ejemplos de llamadas**
``` sql
SELECT arrayResize([1], 3)
```
``` text
┌─arrayResize([1], 3)─┐
│ [1,0,0] │
└─────────────────────┘
```
``` sql
SELECT arrayResize([1], 3, NULL)
```
``` text
┌─arrayResize([1], 3, NULL)─┐
│ [1,NULL,NULL] │
└───────────────────────────┘
```
## arraySlice {#arrayslice}
Devuelve una porción de la matriz.
``` sql
arraySlice(array, offset[, length])
```
**Parámetros**
- `array` Array of data.
- `offset` Indent from the edge of the array. A positive value indicates an offset on the left, and a negative value is an indent on the right. Numbering of the array items begins with 1.
- `length` - La longitud de la porción requerida. Si especifica un valor negativo, la función devuelve un segmento abierto `[offset, array_length - length)`. Si omite el valor, la función devuelve el sector `[offset, the_end_of_array]`.
**Ejemplo**
``` sql
SELECT arraySlice([1, 2, NULL, 4, 5], 2, 3) AS res
```
``` text
┌─res────────┐
│ [2,NULL,4] │
└────────────┘
```
Elementos de matriz establecidos en `NULL` se manejan como valores normales.
## arraySort(\[func,\] arr, …) {#array_functions-sort}
Ordena los elementos del `arr` matriz en orden ascendente. Si el `func` se especifica la función, el orden de clasificación está determinado por el resultado `func` función aplicada a los elementos de la matriz. Si `func` acepta múltiples argumentos, el `arraySort` función se pasa varias matrices que los argumentos de `func` corresponderá a. Los ejemplos detallados se muestran al final de `arraySort` descripci.
Ejemplo de clasificación de valores enteros:
``` sql
SELECT arraySort([1, 3, 3, 0]);
```
``` text
┌─arraySort([1, 3, 3, 0])─┐
│ [0,1,3,3] │
└─────────────────────────┘
```
Ejemplo de ordenación de valores de cadena:
``` sql
SELECT arraySort(['hello', 'world', '!']);
```
``` text
┌─arraySort(['hello', 'world', '!'])─┐
│ ['!','hello','world'] │
└────────────────────────────────────┘
```
Considere el siguiente orden de clasificación `NULL`, `NaN` y `Inf` valor:
``` sql
SELECT arraySort([1, nan, 2, NULL, 3, nan, -4, NULL, inf, -inf]);
```
``` text
┌─arraySort([1, nan, 2, NULL, 3, nan, -4, NULL, inf, -inf])─┐
│ [-inf,-4,1,2,3,inf,nan,nan,NULL,NULL] │
└───────────────────────────────────────────────────────────┘
```
- `-Inf` los valores son los primeros en la matriz.
- `NULL` los valores son los últimos en la matriz.
- `NaN` los valores están justo antes `NULL`.
- `Inf` los valores están justo antes `NaN`.
Tenga en cuenta que `arraySort` es una [función de orden superior](higher_order_functions.md). Puede pasarle una función lambda como primer argumento. En este caso, el orden de clasificación está determinado por el resultado de la función lambda aplicada a los elementos de la matriz.
Consideremos el siguiente ejemplo:
``` sql
SELECT arraySort((x) -> -x, [1, 2, 3]) as res;
```
``` text
┌─res─────┐
│ [3,2,1] │
└─────────┘
```
For each element of the source array, the lambda function returns the sorting key, that is, \[1 \> -1, 2 \> -2, 3 \> -3\]. Since the `arraySort` función ordena las teclas en orden ascendente, el resultado es \[3, 2, 1\]. Por lo tanto, el `(x) > -x` la función lambda establece la [orden descendente](#array_functions-reverse-sort) en una clasificación.
La función lambda puede aceptar múltiples argumentos. En este caso, debe pasar el `arraySort` función varias matrices de idéntica longitud a las que corresponderán los argumentos de la función lambda. La matriz resultante constará de elementos de la primera matriz de entrada; los elementos de la siguiente matriz de entrada especifican las claves de clasificación. Por ejemplo:
``` sql
SELECT arraySort((x, y) -> y, ['hello', 'world'], [2, 1]) as res;
```
``` text
┌─res────────────────┐
│ ['world', 'hello'] │
└────────────────────┘
```
Aquí, los elementos que se pasan en la segunda matriz (\[2, 1\]) definen una clave de ordenación para el elemento correspondiente de la matriz de origen (\[hello, worldEs decir,, \[hello \> 2, world \> 1\]. Since the lambda function doesn't use `x`, los valores reales de la matriz de origen no afectan el orden en el resultado. Tan, hello será el segundo elemento en el resultado, y world será la primera.
Otros ejemplos se muestran a continuación.
``` sql
SELECT arraySort((x, y) -> y, [0, 1, 2], ['c', 'b', 'a']) as res;
```
``` text
┌─res─────┐
│ [2,1,0] │
└─────────┘
```
``` sql
SELECT arraySort((x, y) -> -y, [0, 1, 2], [1, 2, 3]) as res;
```
``` text
┌─res─────┐
│ [2,1,0] │
└─────────┘
```
!!! note "Nota"
Para mejorar la eficiencia de clasificación, el [Transformación de Schwartzian](https://en.wikipedia.org/wiki/Schwartzian_transform) se utiliza.
## arrayReverseSort(\[func,\] arr, …) {#array_functions-reverse-sort}
Ordena los elementos del `arr` matriz en orden descendente. Si el `func` se especifica la función, `arr` se ordena de acuerdo con el resultado de la `func` función aplicada a los elementos de la matriz, y luego la matriz ordenada se invierte. Si `func` acepta múltiples argumentos, el `arrayReverseSort` función se pasa varias matrices que los argumentos de `func` corresponderá a. Los ejemplos detallados se muestran al final de `arrayReverseSort` descripci.
Ejemplo de clasificación de valores enteros:
``` sql
SELECT arrayReverseSort([1, 3, 3, 0]);
```
``` text
┌─arrayReverseSort([1, 3, 3, 0])─┐
│ [3,3,1,0] │
└────────────────────────────────┘
```
Ejemplo de ordenación de valores de cadena:
``` sql
SELECT arrayReverseSort(['hello', 'world', '!']);
```
``` text
┌─arrayReverseSort(['hello', 'world', '!'])─┐
│ ['world','hello','!'] │
└───────────────────────────────────────────┘
```
Considere el siguiente orden de clasificación `NULL`, `NaN` y `Inf` valor:
``` sql
SELECT arrayReverseSort([1, nan, 2, NULL, 3, nan, -4, NULL, inf, -inf]) as res;
```
``` text
┌─res───────────────────────────────────┐
│ [inf,3,2,1,-4,-inf,nan,nan,NULL,NULL] │
└───────────────────────────────────────┘
```
- `Inf` los valores son los primeros en la matriz.
- `NULL` los valores son los últimos en la matriz.
- `NaN` los valores están justo antes `NULL`.
- `-Inf` los valores están justo antes `NaN`.
Tenga en cuenta que el `arrayReverseSort` es una [función de orden superior](higher_order_functions.md). Puede pasarle una función lambda como primer argumento. Ejemplo se muestra a continuación.
``` sql
SELECT arrayReverseSort((x) -> -x, [1, 2, 3]) as res;
```
``` text
┌─res─────┐
│ [1,2,3] │
└─────────┘
```
La matriz se ordena de la siguiente manera:
1. Al principio, la matriz de origen (\[1, 2, 3\]) se ordena de acuerdo con el resultado de la función lambda aplicada a los elementos de la matriz. El resultado es una matriz \[3, 2, 1\].
2. Matriz que se obtiene en el paso anterior, se invierte. Entonces, el resultado final es \[1, 2, 3\].
La función lambda puede aceptar múltiples argumentos. En este caso, debe pasar el `arrayReverseSort` función varias matrices de idéntica longitud a las que corresponderán los argumentos de la función lambda. La matriz resultante constará de elementos de la primera matriz de entrada; los elementos de la siguiente matriz de entrada especifican las claves de clasificación. Por ejemplo:
``` sql
SELECT arrayReverseSort((x, y) -> y, ['hello', 'world'], [2, 1]) as res;
```
``` text
┌─res───────────────┐
│ ['hello','world'] │
└───────────────────┘
```
En este ejemplo, la matriz se ordena de la siguiente manera:
1. Al principio, la matriz de origen (\[hello, world\]) se ordena de acuerdo con el resultado de la función lambda aplicada a los elementos de las matrices. Los elementos que se pasan en la segunda matriz (\[2, 1\]), definen las claves de ordenación para los elementos correspondientes de la matriz de origen. El resultado es una matriz \[world, hello\].
2. Matriz que se ordenó en el paso anterior, se invierte. Entonces, el resultado final es \[hello, world\].
Otros ejemplos se muestran a continuación.
``` sql
SELECT arrayReverseSort((x, y) -> y, [4, 3, 5], ['a', 'b', 'c']) AS res;
```
``` text
┌─res─────┐
│ [5,3,4] │
└─────────┘
```
``` sql
SELECT arrayReverseSort((x, y) -> -y, [4, 3, 5], [1, 2, 3]) AS res;
```
``` text
┌─res─────┐
│ [4,3,5] │
└─────────┘
```
## arrayUniq(arr, …) {#arrayuniqarr}
Si se pasa un argumento, cuenta el número de elementos diferentes en la matriz.
Si se pasan varios argumentos, cuenta el número de tuplas diferentes de elementos en las posiciones correspondientes en múltiples matrices.
Si desea obtener una lista de elementos únicos en una matriz, puede usar arrayReduce(groupUniqArray arr).
## Información adicional) {#array-functions-join}
Una función especial. Vea la sección [“ArrayJoin function”](array_join.md#functions_arrayjoin).
## arrayDifference {#arraydifference}
Calcula la diferencia entre los elementos de matriz adyacentes. Devuelve una matriz donde el primer elemento será 0, el segundo es la diferencia entre `a[1] - a[0]`, etc. The type of elements in the resulting array is determined by the type inference rules for subtraction (e.g. `UInt8` - `UInt8` = `Int16`).
**Sintaxis**
``` sql
arrayDifference(array)
```
**Parámetros**
- `array` [Matriz](https://clickhouse.yandex/docs/en/data_types/array/).
**Valores devueltos**
Devuelve una matriz de diferencias entre los elementos adyacentes.
Tipo: [UInt\*](https://clickhouse.yandex/docs/en/data_types/int_uint/#uint-ranges), [En\*](https://clickhouse.yandex/docs/en/data_types/int_uint/#int-ranges), [Flotante\*](https://clickhouse.yandex/docs/en/data_types/float/).
**Ejemplo**
Consulta:
``` sql
SELECT arrayDifference([1, 2, 3, 4])
```
Resultado:
``` text
┌─arrayDifference([1, 2, 3, 4])─┐
│ [0,1,1,1] │
└───────────────────────────────┘
```
Ejemplo del desbordamiento debido al tipo de resultado Int64:
Consulta:
``` sql
SELECT arrayDifference([0, 10000000000000000000])
```
Resultado:
``` text
┌─arrayDifference([0, 10000000000000000000])─┐
│ [0,-8446744073709551616] │
└────────────────────────────────────────────┘
```
## arrayDistinct {#arraydistinct}
Toma una matriz, devuelve una matriz que contiene solo los elementos distintos.
**Sintaxis**
``` sql
arrayDistinct(array)
```
**Parámetros**
- `array` [Matriz](https://clickhouse.yandex/docs/en/data_types/array/).
**Valores devueltos**
Devuelve una matriz que contiene los elementos distintos.
**Ejemplo**
Consulta:
``` sql
SELECT arrayDistinct([1, 2, 2, 3, 1])
```
Resultado:
``` text
┌─arrayDistinct([1, 2, 2, 3, 1])─┐
│ [1,2,3] │
└────────────────────────────────┘
```
## Aquí hay algunas opciones) {#array_functions-arrayenumeratedense}
Devuelve una matriz del mismo tamaño que la matriz de origen, lo que indica dónde aparece cada elemento por primera vez en la matriz de origen.
Ejemplo:
``` sql
SELECT arrayEnumerateDense([10, 20, 10, 30])
```
``` text
┌─arrayEnumerateDense([10, 20, 10, 30])─┐
│ [1,2,1,3] │
└───────────────────────────────────────┘
```
## Información detallada) {#array-functions-arrayintersect}
Toma varias matrices, devuelve una matriz con elementos que están presentes en todas las matrices de origen. El orden de los elementos en la matriz resultante es el mismo que en la primera matriz.
Ejemplo:
``` sql
SELECT
arrayIntersect([1, 2], [1, 3], [2, 3]) AS no_intersect,
arrayIntersect([1, 2], [1, 3], [1, 4]) AS intersect
```
``` text
┌─no_intersect─┬─intersect─┐
│ [] │ [1] │
└──────────────┴───────────┘
```
## arrayReduce(agg\_func, arr1, …) {#array-functions-arrayreduce}
Aplica una función de agregado a los elementos de la matriz y devuelve su resultado. El nombre de la función de agregación se pasa como una cadena entre comillas simples `'max'`, `'sum'`. Cuando se utilizan funciones de agregado paramétrico, el parámetro se indica después del nombre de la función entre paréntesis `'uniqUpTo(6)'`.
Ejemplo:
``` sql
SELECT arrayReduce('max', [1, 2, 3])
```
``` text
┌─arrayReduce('max', [1, 2, 3])─┐
│ 3 │
└───────────────────────────────┘
```
Si una función agregada toma varios argumentos, esta función debe aplicarse a varias matrices del mismo tamaño.
Ejemplo:
``` sql
SELECT arrayReduce('maxIf', [3, 5], [1, 0])
```
``` text
┌─arrayReduce('maxIf', [3, 5], [1, 0])─┐
│ 3 │
└──────────────────────────────────────┘
```
Ejemplo con una función de agregado paramétrico:
``` sql
SELECT arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
```
``` text
┌─arrayReduce('uniqUpTo(3)', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])─┐
│ 4 │
└─────────────────────────────────────────────────────────────┘
```
## arrayReverse (arr) {#array_functions-arrayreverse}
Devuelve una matriz del mismo tamaño que la matriz original que contiene los elementos en orden inverso.
Ejemplo:
``` sql
SELECT arrayReverse([1, 2, 3])
```
``` text
┌─arrayReverse([1, 2, 3])─┐
│ [3,2,1] │
└─────────────────────────┘
```
## inversa(arr) {#array-functions-reverse}
Sinónimo de [“arrayReverse”](#array_functions-arrayreverse)
## arrayFlatten {#arrayflatten}
Convierte una matriz de matrices en una matriz plana.
Función:
- Se aplica a cualquier profundidad de matrices anidadas.
- No cambia las matrices que ya son planas.
La matriz aplanada contiene todos los elementos de todas las matrices de origen.
**Sintaxis**
``` sql
flatten(array_of_arrays)
```
Apodo: `flatten`.
**Parámetros**
- `array_of_arrays` — [Matriz](../../data_types/array.md) de matrices. Por ejemplo, `[[1,2,3], [4,5]]`.
**Ejemplos**
``` sql
SELECT flatten([[[1]], [[2], [3]]])
```
``` text
┌─flatten(array(array([1]), array([2], [3])))─┐
│ [1,2,3] │
└─────────────────────────────────────────────┘
```
## arrayCompact {#arraycompact}
Elimina elementos duplicados consecutivos de una matriz. El orden de los valores de resultado está determinado por el orden de la matriz de origen.
**Sintaxis**
``` sql
arrayCompact(arr)
```
**Parámetros**
`arr` — The [matriz](../../data_types/array.md) inspeccionar.
**Valor devuelto**
La matriz sin duplicado.
Tipo: `Array`.
**Ejemplo**
Consulta:
``` sql
SELECT arrayCompact([1, 1, nan, nan, 2, 3, 3, 3])
```
Resultado:
``` text
┌─arrayCompact([1, 1, nan, nan, 2, 3, 3, 3])─┐
│ [1,nan,nan,2,3] │
└────────────────────────────────────────────┘
```
## arrayZip {#arrayzip}
Combine multiple Array type columns into one Array\[Tuple(…)\] column
**Sintaxis**
``` sql
arrayZip(arr1, arr2, ..., arrN)
```
**Parámetros**
`arr` — Any number of [matriz](../../data_types/array.md) escriba columnas para combinar.
**Valor devuelto**
The result of Array\[Tuple(…)\] type after the combination of these arrays
**Ejemplo**
Consulta:
``` sql
SELECT arrayZip(['a', 'b', 'c'], ['d', 'e', 'f']);
```
Resultado:
``` text
┌─arrayZip(['a', 'b', 'c'], ['d', 'e', 'f'])─┐
│ [('a','d'),('b','e'),('c','f')] │
└────────────────────────────────────────────┘
```
[Artículo Original](https://clickhouse.tech/docs/en/query_language/functions/array_functions/) <!--hide-->

View File

@ -1,4 +1,4 @@
# arrayJoin función {#functions-arrayjoin}
# arrayJoin función {#functions_arrayjoin}
Esta es una función muy inusual.

View File

@ -8,7 +8,7 @@ RoaringBitmap se envuelve en una estructura de datos, mientras que el almacenami
Para obtener más información sobre RoaringBitmap, consulte: [CRoaring](https://github.com/RoaringBitmap/CRoaring).
## bitmapBuild {#bitmap-functions-bitmapbuild}
## bitmapBuild {#bitmap_functions-bitmapbuild}
Construya un mapa de bits a partir de una matriz de enteros sin signo.
@ -120,7 +120,7 @@ Resultado:
└───────────────────────────┘
```
## bitmapContains {#bitmap-functions-bitmapcontains}
## bitmapContains {#bitmap_functions-bitmapcontains}
Comprueba si el mapa de bits contiene un elemento.

View File

@ -1,4 +1,4 @@
# Funciones para trabajar con diccionarios externos {#ext-dict-functions}
# Funciones para trabajar con diccionarios externos {#ext_dict_functions}
Para obtener información sobre cómo conectar y configurar diccionarios externos, consulte [Diccionarios externos](../dicts/external_dicts.md).
@ -154,7 +154,7 @@ dictIsIn('dict_name', child_id_expr, ancestor_id_expr)
Tipo: `UInt8`.
## Otras funciones {#ext-dict-functions-other}
## Otras funciones {#ext_dict_functions-other}
ClickHouse admite funciones especializadas que convierten los valores de atributo de diccionario a un tipo de datos específico, independientemente de la configuración del diccionario.

View File

@ -33,13 +33,13 @@ SELECT halfMD5(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00')
└────────────────────┴────────┘
```
## MD5 {#hash-functions-md5}
## MD5 {#hash_functions-md5}
Calcula el MD5 de una cadena y devuelve el conjunto de bytes resultante como FixedString(16).
Si no necesita MD5 en particular, pero necesita un hash criptográfico de 128 bits decente, use el sipHash128 función en su lugar.
Si desea obtener el mismo resultado que la salida de la utilidad md5sum, use lower(hex(MD5(s)) .
## sipHash64 {#hash-functions-siphash64}
## sipHash64 {#hash_functions-siphash64}
Producir un [SipHash](https://131002.net/siphash/) hachís valor.
@ -76,7 +76,7 @@ SELECT sipHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:00
└──────────────────────┴────────┘
```
## sipHash128 {#hash-functions-siphash128}
## sipHash128 {#hash_functions-siphash128}
Calcula SipHash a partir de una cadena.
Acepta un argumento de tipo String. ¿Cómo puedo hacerlo?
@ -178,7 +178,7 @@ SELECT farmHash64(array('e','x','a'), 'mple', 10, toDateTime('2019-06-15 23:00:0
└──────────────────────┴────────┘
```
## Nombre de la red inalámbrica (SSID): {#hash-functions-javahash}
## Nombre de la red inalámbrica (SSID): {#hash_functions-javahash}
Calcular [Nivel de Cifrado WEP](http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/478a4add975b/src/share/classes/java/lang/String.java#l1452) de una cuerda. Esta función hash no es rápida ni tiene una buena calidad. La única razón para usarlo es cuando este algoritmo ya se usa en otro sistema y debe calcular exactamente el mismo resultado.

View File

@ -23,7 +23,7 @@ No se puede omitir una función lambda para las siguientes funciones:
- [arrayFirst](#higher_order_functions-array-first)
- [arrayFirstIndex](#higher_order_functions-array-first-index)
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-map}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-map}
Devuelve una matriz obtenida de la aplicación original `func` función a cada elemento en el `arr` matriz.
@ -53,7 +53,7 @@ SELECT arrayMap((x, y) -> (x, y), [1, 2, 3], [4, 5, 6]) AS res
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arrayMap` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-filter}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-filter}
Devuelve una matriz que contiene sólo los elementos en `arr1` para los cuales `func` devuelve algo distinto de 0.
@ -86,7 +86,7 @@ SELECT
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arrayFilter` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-fill}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-fill}
Escanear a través de `arr1` desde el primer elemento hasta el último elemento y reemplazar `arr1[i]` por `arr1[i - 1]` si `func` devuelve 0. El primer elemento de `arr1` no será reemplazado.
@ -104,7 +104,7 @@ SELECT arrayFill(x -> not isNull(x), [1, null, 3, 11, 12, null, null, 5, 6, 14,
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arrayFill` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-reverse-fill}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-reverse-fill}
Escanear a través de `arr1` del último elemento al primer elemento y reemplace `arr1[i]` por `arr1[i + 1]` si `func` devuelve 0. El último elemento de `arr1` no será reemplazado.
@ -122,7 +122,7 @@ SELECT arrayReverseFill(x -> not isNull(x), [1, null, 3, 11, 12, null, null, 5,
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arrayReverseFill` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-split}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-split}
Dividir `arr1` en múltiples matrices. Cuando `func` devuelve algo distinto de 0, la matriz se dividirá en el lado izquierdo del elemento. La matriz no se dividirá antes del primer elemento.
@ -140,7 +140,7 @@ SELECT arraySplit((x, y) -> y, [1, 2, 3, 4, 5], [1, 0, 0, 1, 0]) AS res
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arraySplit` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-reverse-split}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-reverse-split}
Dividir `arr1` en múltiples matrices. Cuando `func` devuelve algo distinto de 0, la matriz se dividirá en el lado derecho del elemento. La matriz no se dividirá después del último elemento.
@ -158,7 +158,7 @@ SELECT arrayReverseSplit((x, y) -> y, [1, 2, 3, 4, 5], [1, 0, 0, 1, 0]) AS res
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arraySplit` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-count}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-count}
Devuelve el número de elementos de la matriz arr para los cuales func devuelve algo distinto de 0. Si func no se especifica, devuelve el número de elementos distintos de cero en la matriz.
@ -174,13 +174,13 @@ Devuelve 1 si func devuelve algo distinto de 0 para todos los elementos en
Devuelve la suma de la func valor. Si se omite la función, simplemente devuelve la suma de los elementos de la matriz.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-first}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-first}
Devuelve el primer elemento en el arr1 matriz para la cual func devuelve algo distinto de 0.
Tenga en cuenta que el primer argumento (función lambda) no se puede omitir en el `arrayFirst` función.
### ¿Cómo puedo hacerlo?, …) {#higher-order-functions-array-first-index}
### ¿Cómo puedo hacerlo?, …) {#higher_order_functions-array-first-index}
Devuelve el índice del primer elemento arr1 matriz para la cual func devuelve algo distinto de 0.

View File

@ -1,6 +1,6 @@
# Funciones de aprendizaje automático {#machine-learning-functions}
## evalMLMethod (predicción) {#machine-learning-methods-evalmlmethod}
## evalMLMethod (predicción) {#machine_learning_methods-evalmlmethod}
Predicción utilizando modelos de regresión ajustados utiliza `evalMLMethod` función. Ver enlace en `linearRegression`.

View File

@ -527,7 +527,7 @@ Resultado:
└────────────┴───────┴───────────┴────────────────┘
```
## EjecuciónDiferencia (x) {#other-functions-runningdifference}
## EjecuciónDiferencia (x) {#other_functions-runningdifference}
Calcula la diferencia entre los sucesivos valores de fila en el bloque de datos.
Devuelve 0 para la primera fila y la diferencia con respecto a la fila anterior para cada fila subsiguiente.

View File

@ -20,7 +20,7 @@ Devuelve el número redondo más pequeño que es mayor o igual que `x`. En todos
Devuelve el número redondo con el valor absoluto más grande que tiene un valor absoluto menor o igual que `x`s. In every other way, it is the same as the floor función (véase más arriba).
## Ronda (x\[, N\]) {#rounding-functions-round}
## Ronda (x\[, N\]) {#rounding_functions-round}
Redondea un valor a un número especificado de decimales.

View File

@ -259,7 +259,7 @@ Resultado:
└───────────────────────────────────────────────────────────────────┘
```
## MultiSearchAllPositionsUTF8 {#multisearchallpositionsutf8}
## MultiSearchAllPositionsUTF8 {#multiSearchAllPositionsUTF8}
Ver `multiSearchAllPositions`.

View File

@ -304,7 +304,7 @@ SELECT toFixedString('foo\0bar', 8) AS s, toStringCutToZero(s) AS s_cut
Estas funciones aceptan una cadena e interpretan los bytes colocados al principio de la cadena como un número en orden de host (little endian). Si la cadena no es lo suficientemente larga, las funciones funcionan como si la cadena estuviera rellenada con el número necesario de bytes nulos. Si la cadena es más larga de lo necesario, se ignoran los bytes adicionales. Una fecha se interpreta como el número de días desde el comienzo de la época Unix, y una fecha con hora se interpreta como el número de segundos desde el comienzo de la época Unix.
## reinterpretAsString {#type-conversion-functions-reinterpretasstring}
## reinterpretAsString {#type_conversion_functions-reinterpretAsString}
Esta función acepta un número o fecha o fecha con hora, y devuelve una cadena que contiene bytes que representan el valor correspondiente en orden de host (little endian). Los bytes nulos se eliminan desde el final. Por ejemplo, un valor de tipo UInt32 de 255 es una cadena que tiene un byte de longitud.
@ -312,7 +312,7 @@ Esta función acepta un número o fecha o fecha con hora, y devuelve una cadena
Esta función acepta un número o fecha o fecha con hora, y devuelve un FixedString que contiene bytes que representan el valor correspondiente en orden de host (little endian). Los bytes nulos se eliminan desde el final. Por ejemplo, un valor de tipo UInt32 de 255 es un FixedString que tiene un byte de longitud.
## CAST(x, t) {#type-conversion-function-cast}
## CAST(x, t) {#type_conversion_function-cast}
Convertir x Angeles t tipo de datos. La sintaxis CAST(x AS t) también es compatible.
@ -402,7 +402,7 @@ SELECT
└───────────────────────────┴──────────────────────────────┘
```
## parseDateTimeBestEffort {#type-conversion-functions-parsedatetimebesteffort}
## parseDateTimeBestEffort {#type_conversion_functions-parsedatetimebesteffort}
Analice un argumento de tipo numérico a un tipo Date o DateTime.
diferente de toDate y toDateTime, parseDateTimeBestEffort puede progresar en un formato de fecha más complejo.

View File

@ -43,7 +43,7 @@ Puede insertar datos por separado de la consulta mediante el cliente de línea d
Si la tabla tiene [limitación](create.md#constraints), sus expresiones se verificarán para cada fila de datos insertados. Si alguna de esas restricciones no se satisface, el servidor generará una excepción que contenga el nombre y la expresión de la restricción, la consulta se detendrá.
### Insertar los resultados de `SELECT` {#insert-query-insert-select}
### Insertar los resultados de `SELECT` {#insert_query_insert-select}
``` sql
INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...

View File

@ -176,7 +176,7 @@ La consulta es útil cuando una mutación está bloqueada y no puede finalizar (
Los cambios ya realizados por la mutación no se revierten.
## OPTIMIZAR {#misc-operations-optimize}
## OPTIMIZAR {#misc_operations-optimize}
``` sql
OPTIMIZE TABLE [db.]name [ON CLUSTER cluster] [PARTITION partition | PARTITION ID 'partition_id'] [FINAL] [DEDUPLICATE]
@ -196,7 +196,7 @@ Cuando `OPTIMIZE` se utiliza con el [ReplicatedMergeTree](../operations/table_en
!!! warning "Advertencia"
`OPTIMIZE` no se puede arreglar el “Too many parts” error.
## Renombrar {#misc-operations-rename}
## Renombrar {#misc_operations-rename}
Cambia el nombre de una o más tablas.

View File

@ -185,7 +185,7 @@ Nota:
El operador condicional calcula los valores de b y c, luego verifica si se cumple la condición a y luego devuelve el valor correspondiente. Si `b` o `C` es una [arrayJoin()](functions/array_join.md#functions_arrayjoin) función, cada fila se replicará independientemente de la “a” condición.
## Expresión condicional {#operator-case}
## Expresión condicional {#operator_case}
``` sql
CASE [x]

Some files were not shown because too many files have changed in this diff Show More