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)

  1. generate_engine_table 테이블을 설정합니다:
CREATE TABLE generate_engine_table (name String, value UInt32) ENGINE = GenerateRandom(1, 5, 3)
  1. 데이터를 쿼리합니다:
SELECT * FROM generate_engine_table LIMIT 3
┌─name─┬──────value─┐
│ c4xJ │ 1412771199 │
│ r    │ 1791099446 │
│ 7#$  │  124312908 │
└──────┴────────────┘

구현 세부사항 (Details of Implementation)

  • 지원하지 않음:
    • ALTER
    • SELECT ... SAMPLE
    • INSERT
    • 인덱스(Indices)
    • 레플리케이션(Replication)

더 알아보기 (Learn more)