GenerateRandom 테이블 엔진
GenerateRandom 테이블 엔진
GenerateRandom 테이블 엔진은 주어진 테이블 스키마에 대한 임의의 데이터를 생성해요. 테스트에서 재현 가능한 큰 테이블을 채우거나, 퍼징(fuzzing) 테스트용 임의 입력을 생성할 때 쓸 수 있답니다.
출처: 문서
본문
GenerateRandom 테이블 엔진은 주어진 테이블 스키마에 대한 임의의 데이터를 생성합니다.
사용 예:
- 테스트에서 재현 가능한 큰 테이블을 채우는 데 사용.
- 퍼징 테스트용 임의 입력을 생성.
ClickHouse Server에서의 사용 (Usage in ClickHouse Server)
ENGINE = GenerateRandom([random_seed [,max_string_length [,max_array_length]]])
max_array_length와 max_string_length 매개변수는 생성된 데이터에서 모든 배열 또는 맵 컬럼과 문자열의 최대 길이를 각각 지정합니다.
Generate 테이블 엔진은 SELECT 쿼리만 지원합니다. 테이블에 저장할 수 있는 모든 DataType을 지원하지만 AggregateFunction은 제외됩니다.
예시 (Example)
- generate_engine_table 테이블을 설정합니다:
CREATE TABLE generate_engine_table (name String, value UInt32) ENGINE = GenerateRandom(1, 5, 3)
- 데이터를 쿼리합니다:
SELECT * FROM generate_engine_table LIMIT 3
┌─name─┬──────value─┐
│ c4xJ │ 1412771199 │
│ r │ 1791099446 │
│ 7#$ │ 124312908 │
└──────┴────────────┘
구현 세부사항 (Details of Implementation)
- 지원하지 않음:
ALTERSELECT ... SAMPLEINSERT- 인덱스(Indices)
- 레플리케이션(Replication)