데이터 생성 함수

데이터 생성 함수를 사용하여 데이터를 생성할 수 있습니다. Snowflake는 다음 두 가지 유형의 데이터 생성 함수를 지원합니다.

  • 난수: 테스트 목적으로 유용할 수 있습니다.

    이러한 함수는 매번 임의의 값을 생성합니다. 각각의 값은 함수에 대한 다른 호출로 생성되는 다른 값과 무관합니다. 기본 알고리즘은 의사 난수 값을 생성하므로 값이 실제로 난수거나 독립된 값은 아니지만, 알고리즘을 모르면 값을 본질적으로 예측할 수 없으며 보통은 균일하게 분포되고(샘플 크기가 큰 경우) 서로 준독립적입니다.

  • 제어 분포: 아직 고유 식별자가 없는 레코드에 고유 ID 번호를 제공하는 데 유용할 수 있습니다.

    이러한 함수는 독립적이지 않은 값을 생성합니다. 예를 들어, NORMAL 함수는 지정된 평균 및 표준 편차를 기반으로 거의 “정규”(종 모양) 분포를 갖는 값을 반환합니다. 따라서 생성되는 각각의 새 값은 함수가 지정된 분포를 유지하려고 할 때 이전에 생성된 값에 의해 최소한 간접적으로 영향을 받습니다. 또 다른 예로, SEQ 함수 집합은 일련의 값을 반환합니다.

참고

UNIFORM 함수는 제어 분포 함수로 목록에 표시되지만, 균등하게 분포된 값을 생성하도록 되어 있습니다. 즉, 이 함수는 “난수” 함수인 것처럼 작동하지만, 분포가 명시적으로 지정되어 있고 큰 샘플 크기에 대해 균일하지 않은 값을 생성하는 데이터 생성 함수를 선택할 수 있으므로 이 함수를 제어 분포 함수라고 합니다.

이 항목의 내용:

함수 목록

함수 이름

참고

난수

의사 난수 64비트 정수를 반환합니다.

지정된 길이의 임의의 문자열을 반환합니다.

임의의 RFC 4122 준수 UUID를 서식 있는 문자열로 반환합니다.

제어 분포

지정된 평균 및 표준 편차를 사용하여 정규 분포 부동 소수점 수를 반환합니다.

지정된 범위 내에서 균일 분포 난수를 반환합니다.

Zipf 분포 정수를 반환합니다.

단조 증가하는 정수 시퀀스를 반환합니다.

사용법 노트

  • 임의 분포 함수는 결정론적입니다.

  • 각각의 임의 분포 함수는 생성기 식 gen 을 마지막 인자로 사용합니다. 생성기 식 gen 은 일정하거나 가변적일 수 있습니다.

    • 일정한 경우 임의 분포 함수의 결과는 일정합니다(현재 RANDSTR 함수에 대해서만 지원되는 다른 가변 인자가 없는 경우 ).

    • 가변적일 경우 임의 분포 함수의 결과는 가변적입니다.

  • 암시적 변환이 허용되지만 생성기 식은 64비트 정수 형식이어야 합니다. 64비트 정수로 변환할 수 있는 어떤 식이라도 생성기 식으로 사용할 수 있습니다.

  • 임의 분포 함수의 임의성은 생성기 식의 임의성과 직접 연결됩니다. 가장 실용적인 목적을 위해, RANDOM 데이터 생성 함수는 임의로 생성된 정수 값에 대한 최상의 선택입니다.

  • 데이터 생성 함수로 생성된 시퀀스는 순서가 지정되고 간격이 없다고 보장되지 않습니다. 이는 숫자가 동기화되지 않은 방식으로 병렬로 생성될 수 있기 때문입니다.

    Snowflake의 시퀀스에 대한 자세한 내용은 시퀀스 사용하기 를 참조하십시오.