ClickHouse/docs/en/engines/table-engines/special/generate.md

60 lines
1.5 KiB
Markdown
Raw Normal View History

2020-04-03 13:23:32 +00:00
---
toc_priority: 46
toc_title: GenerateRandom
---
2020-06-10 20:05:22 +00:00
# GenerateRandom Table Engine {#table_engines-generate}
2020-02-28 09:19:11 +00:00
2020-03-06 02:19:55 +00:00
The GenerateRandom table engine produces random data for given table schema.
2020-02-28 09:19:11 +00:00
Usage examples:
- Use in test to populate reproducible large table.
- Generate random input for fuzzing tests.
2020-02-28 09:19:11 +00:00
## Usage in ClickHouse Server {#usage-in-clickhouse-server}
2020-02-28 09:19:11 +00:00
2020-03-20 10:10:48 +00:00
``` sql
ENGINE = GenerateRandom(random_seed, max_string_length, max_array_length)
2020-02-28 09:19:11 +00:00
```
The `max_array_length` and `max_string_length` parameters specify maximum length of all
array columns and strings correspondingly in generated data.
Generate table engine supports only `SELECT` queries.
It supports all [DataTypes](../../../sql-reference/data-types/index.md) that can be stored in a table except `LowCardinality` and `AggregateFunction`.
2020-02-28 09:19:11 +00:00
## Example {#example}
2020-02-28 09:19:11 +00:00
**1.** Set up the `generate_engine_table` table:
2020-03-20 10:10:48 +00:00
``` sql
CREATE TABLE generate_engine_table (name String, value UInt32) ENGINE = GenerateRandom(1, 5, 3)
2020-02-28 09:19:11 +00:00
```
**2.** Query the data:
2020-03-20 10:10:48 +00:00
``` sql
2020-02-28 09:19:11 +00:00
SELECT * FROM generate_engine_table LIMIT 3
```
2020-03-20 10:10:48 +00:00
``` text
2020-02-28 09:19:11 +00:00
┌─name─┬──────value─┐
│ c4xJ │ 1412771199 │
│ r │ 1791099446 │
│ 7#$ │ 124312908 │
└──────┴────────────┘
```
## Details of Implementation {#details-of-implementation}
2020-03-20 10:10:48 +00:00
- Not supported:
- `ALTER`
- `SELECT ... SAMPLE`
- `INSERT`
- Indices
- Replication
2020-02-28 09:19:11 +00:00
[Original article](https://clickhouse.tech/docs/en/operations/table_engines/generate/) <!--hide-->