SnowConvert AI - BigQuery - CREATE TABLE¶
문법 구문¶
샘플 소스 패턴¶
DEFAULT COLLATE¶
BigQuery¶
Snowflake¶
레이블 테이블 옵션¶
BigQuery¶
Snowflake¶
설명 테이블 옵션¶
BigQuery¶
Snowflake¶
설명 테이블 옵션¶
BigQuery¶
Snowflake¶
Known Issues¶
1. 지원되지 않는 테이블 옵션
Snowflake에서 모든 테이블 옵션이 지원되는 것은 아닙니다. OPTIONS 절에서 지원되지 않는 테이블 옵션이 발견되는 경우 이에 대해 경고하기 위해 EWI가 생성됩니다.
BigQuery¶
Snowflake¶
2. 마이크로 분할은 Snowflake에서 자동으로 관리됨
Snowflake는 데이터의 자동 분할을 수행합니다. 사용자 정의 분할은 지원되지 않습니다.
BigQuery¶
Snowflake¶
COLUMN DEFINITION¶
문법 구문¶
샘플 소스 패턴¶
설명 옵션¶
BigQuery¶
Snowflake¶
COLLATE¶
BigQuery¶
Snowflake¶
Known Issues¶
1. 반올림 모드가 지원되지 않음
Snowflake는 열에 기본 반올림 모드 지정을 지원하지 않습니다.
BigQuery¶
Snowflake¶
관련 EWIs¶
SSC-EWI-BQ0001: Snowflake는 options 절을 지원하지 않습니다.
CREATE EXTERNAL TABLE¶
설명¶
외부 테이블을 사용하면 BigQuery가 BigQuery 저장소 외부에 저장된 데이터를 쿼리할 수 있습니다.(BigQuery SQL 언어 참조 CREATE EXTERNAL TABLE)
구문
BigQuery의 CREATE EXTERNAL TABLE 문이 Snowflake에서 CREATE EXTERNAL TABLE 문으로 변환됩니다. 그러나 이 변환에는 사용자 개입이 필요합니다.
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, a External Stage and (optional) Notification Integration that have access to the external source were files are located. Please refer to the following guides on how to set up the connection for each provider:
이 페이지에 표시된 변환에 대한 중요한 고려 사항은 다음과 같습니다.
@EXTERNAL_STAGE 자리 표시자는 이전 가이드에 따라 생성된 외부 스테이지로 바꿔야 합니다.
외부 스테이지는 버킷의 루트를 가리키는 것으로 간주됩니다. 각 테이블에 대해 생성된 PATTERN 절은 버킷 맨 아래에서 시작하는 파일/폴더 경로를 지정하므로 버킷의 다른 위치를 가리키는 외부 스테이지를 정의하면 원치 않는 동작이 발생할 수 있다는 점을 고려하는 것이 중요합니다.
오류를 방지하기 위해
AUTO_REFRESH = FALSE절이 생성됩니다. 외부 테이블 메타데이터의 자동 새로 고침은 Snowflake 계정 클라우드 공급자와 버킷 공급자가 동일하고 알림 통합이 생성된 경우에만 유효합니다.
샘플 소스 패턴¶
명시적 열 목록이 있는 CREATE EXTERNAL TABLE¶
When the column list is provided, SnowConvert AI will automatically generate the AS expression column options for each column to extract the file values.
BigQuery¶
Snowflake¶
명시적 열 목록이 없는 CREATE EXTERNAL TABLE¶
열 목록이 제공되지 않는 경우, BigQuery는 파일 구조에서 열의 스키마를 자동으로 감지합니다. 이 동작을 복제하기 위해 SnowConvert AI는 INFER_SCHEMA 함수를 사용하여 열 정의를 생성하는 USING TEMPLATE 절을 생성합니다.
INFER_SCHEMA 함수가 작동하려면 파일 형식이 필요하므로, SnowConvert AI는 이를 위해 임시 파일 형식을 생성합니다. 이 파일 형식은 CREATE EXTERNAL TABLE 문를 실행할 때만 필요하며, 세션이 종료되면 자동으로 삭제됩니다.
BigQuery¶
Snowflake¶
여러 URIs가 있는 CREATE EXTERNAL TABLE¶
여러 소스 URIs가 지정되면 Snowflake의 PATTERN 절 정규식에서 조인되고, 사용된 와일드카드 * 문자는 Snowflake에서 .*와 동등한 항목으로 변환됩니다.
BigQuery¶
Snowflake¶
WITH CONNECTION 절¶
WITH CONNECTION 절은 저장소 통합을 사용하여 연결 정보가 Snowflake에 이미 제공되었으므로 제거되었습니다.
BigQuery¶
Snowflake¶
지원되는 테이블 옵션¶
다음 외부 테이블 옵션은 Snowflake에서 지원되며 SnowConvert AI에 의해 변환됩니다.
FORMAT
ENCODING
SKIP_LEADING_ROWS
FIELD_DELIMITER
COMPRESSION
BigQuery¶
Snowflake¶
Known Issues¶
1. 명시적 열 목록이 없는 CREATE EXTERNAL TABLE 및 CSV 파일 형식
Currently, Snowflake external tables do not support parsing the header of CSV files. When an external table with no explicit column list and CSV file format is found, SnowConvert AI will produce the SKIP_HEADER file format option to avoid runtime errors, however, this will cause the table column names to have the autogenerated names c1, c2, …, cN.
FDM은 헤더를 구문 분석할 수 없으며 이름을 유지하려면 열 이름을 수동으로 바꿔야 함을 알리기 위해 생성됩니다.
BigQuery¶
Snowflake¶
2. Google Drive 소스를 참조하는 외부 테이블
Snowflake는 Google Drive에 호스팅된 파일에서 데이터 읽기를 지원하지 않습니다. FDM는 이에 대해 알리고 파일을 버킷에 업로드하고 외부 스테이지를 통해 액세스하도록 요청하기 위해 생성됩니다.
PATTERN 절은 자동 생성된 FILE_PATH0, FILE_PATH1, …, FILE_PATHN 자리 표시자를 보유합니다. 파일을 외부 위치로 이동한 후 파일/폴더 경로로 바꿔야 합니다.
BigQuery¶
Snowflake¶
3. GOOGLE_SHEETS 파일 형식이 있는 외부 테이블
Snowflake는 Google Sheets를 파일 형식으로 지원하지 않지만, 해당 구조는 Snowflake에서 지원하는 CSV 파일과 유사합니다.
When SnowConvert AI detects an external table using the GOOGLE_SHEETS format, it will produce an external table with the CSV file format instead.
Google Sheets는 Google Drive에 저장되므로 이전에 언급했듯이 파일을 CSV로 외부 위치에 업로드하고 PATTERN 절에 파일 경로를 지정해야 합니다.
BigQuery¶
Snowflake¶
4. 지원되지 않는 파일 형식이 있는 외부 테이블
Snowflake는 다음 BigQuery 형식을 지원합니다.
BigQuery |
Snowflake |
|---|---|
AVRO |
AVRO |
CSV |
CSV |
NEWLINE_DELIMITED_JSON |
JSON |
ORC |
ORC |
PARQUET |
PARQUET |
다른 형식은 지원되지 않는 것으로 표시됩니다.
BigQuery¶
Snowflake¶
**5. Hive 분할 외부 테이블
Snowflake는 hive 분할 외부 테이블을 지원하지 않으며, WITH PARTITION COLUMNS 절은 지원되지 않는 것으로 표시됩니다.
BigQuery¶
Snowflake¶
6. 열 목록이 없고 INFER_SCHEMA 함수에 대한 유효한 파일 URI가 없는 외부 테이블
INFER_SCHEMA 함수에는 테이블 열을 구성하는 데 사용할 파일 또는 폴더의 경로를 지정하는 LOCATION 매개 변수가 필요합니다. 그러나 이 경로는 정규식, 즉 와일드 카드 * 문자를 지원하지 않습니다.
When the table has no columns, SnowConvert AI will check all URIS to find one that does not use wildcards and use it in the INFER_SCHEMA function, when no URI meets such criteria an FDM and FILE_PATH placeholder will be generated, the placeholder has to be replaced with the path of one of the files referenced by the external table to generate the table columns.
BigQuery¶
Snowflake¶
7. 지원되지 않는 테이블 옵션
지원되는 테이블 옵션 패턴에 언급되지 않은 다른 모든 테이블 옵션은 지원되지 않는 것으로 표시됩니다.
BigQuery¶
Snowflake¶
관련 EWIs¶
SSC-EWI-BQ0013: 외부 테이블 데이터 형식은 Snowflake에서 지원되지 않습니다.
SSC-EWI-BQ0014: Hive 분할 외부 테이블은 Snowflake에서 지원되지 않습니다.
SSC-EWI-BQ0015: External table requires an external stage to access an external location, define and replace the EXTERNAL_STAGE placeholder
SSC-FDM-BQ0004: INFER_SCHEMA 함수는 테이블 템플릿을 생성하고 FILE_PATH 자리 표시자로 교체하기 위해 와일드카드가 없는 파일 경로가 필요합니다.
SSC-FDM-BQ0005: CSV 헤더 구문 분석은 외부 테이블에서 지원되지 않습니다. 원래 이름과 일치하도록 열의 이름을 바꿔야 합니다.
SSC-FDM-BQ0006: Google Drive에서 읽기 기능은 Snowflake에서 지원되지 않습니다. 외부 위치에 파일을 업로드하고 FILE_PATH 자리 표시자를 바꿉니다.
SSC-FDM-BQ0007: The GOOGLE_SHEETS format is not supported in Snowflake. CSV file type is used as a workaround.
CREATE TABLE CLONE¶
문법 구문¶
샘플 소스 패턴¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
::{참고} CREATE TABLE CLONE 문의 LABELS 옵션은 TAGs로 변환되지 않습니다. 이는 소스 테이블의 TAGs가 복사되지만, 테이블 복사 중에는 변경할 수 없기 때문입니다. 다른 테이블 옵션의 변환은 CREATETABLE 문에 대해 지정된 변환과 동일합니다.
CREATE TABLE COPY
Grammar syntax
Sample Source Patterns
일반적인 경우
Snowflake의 CREATE TABLE CLONE은 기능적으로 CREATE TABLE COPY와 동등합니다.
입력 코드
BigQuery
Snowflake
참고
CREATE TABLE COPY 문의 LABELS 옵션은 TAGs로 변환되지 않습니다. 이는 소스 테이블의 TAGs가 복사되지만, 테이블 복사 중에는 변경할 수 없기 때문입니다. 다른 테이블 옵션의 변환은 CREATE TABLE 문에 대해 지정된 변환과 동일합니다.
CREATE TABLE LIKE¶
문법 구문¶
성공
CREATE TABLE LIKE는 Snowflake에서 완벽하게 지원됩니다.
참고
CREATE TABLE LIKE 문의 LABELS 옵션은 TAGs로 변환되지 않습니다. 이는 소스 테이블의 TAGs가 복사되지만, 테이블 복사 중에는 변경할 수 없기 때문입니다. 다른 테이블 옵션의 변환은 CREATE TABLE 문에 대해 지정된 변환과 동일합니다.
CREATE TABLE SNAPSHOT¶
문법 구문¶
샘플 소스 패턴¶
일반적인 경우¶
Snowflake에서 스냅샷 키워드가 제거되어 테이블이 CREATE TABLE CLONE으로 변환됩니다.
스냅샷과 복제본의 두 가지 차이점은 스냅샷은 편집할 수 없으며 일반적으로 만료 날짜가 있다는 것입니다. 만료 날짜는 지원되지 않으며, CREATETABLE 문의 지원되지 않는 옵션에 지정된 대로 처리됩니다.
BigQuery¶
Snowflake¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
참고
CREATE TABLE COPY 문의 LABELS 옵션은 TAGs로 변환되지 않습니다. 이는 소스 테이블의 TAGs가 복사되지만, 테이블 복사 중에는 변경할 수 없기 때문입니다.
다른 테이블 옵션의 변환은 CREATE TABLE 문에 대해 지정된 변환과 동일합니다.