Document AI로 비정형 데이터 로드하기

Document AI 가 통합됨으로써, 이제 Snowflake는 정형 및 반정형 데이터 로딩과 마찬가지로 비정형 데이터 로딩을 지원합니다.

비정형 데이터는 미리 정의된 데이터 모델이나 스키마에 맞지 않는 정보입니다. 일반적으로 양식 응답 및 소셜 미디어 대화와 같이 텍스트가 많은 비정형 데이터에는 이미지, 동영상 및 오디오도 포함됩니다.

이 미리 보기 기능을 사용하여 비정형 데이터를 로드하려면 동일한 COPY INTO 테이블 명령을 복사 옵션 file_processor 와 함께 실행하면 됩니다.

전제 조건

이 기능을 사용하기 전에 Document AI 모델을 준비하고 COPY 명령을 실행하는 사용자에게 이 모델에 대한 액세스 권한이 있는지 확인해야 합니다. 자세한 내용은 Document AI 섹션을 참조하십시오.

COPY INTO 명령 사용하기

COPY INTO 명령을 file_processor 복사 옵션과 함께 사용하여 비정형 데이터를 로드할 수 있습니다. file_processor 복사 옵션의 사용자 지정 스캐너 유형으로 document_ai 를 지정하고 스캐너에 대한 관련 속성을 지정할 수 있습니다.

자세한 내용은 COPY INTO TABLE 구문COPY INTO 복사 옵션 을 참조하십시오.

비정형 데이터를 로드하려면 미리 보기에서 소스 스테이지의 유형을 스테이지 형식 유형인 CUSTOM 으로 지정하는 것이 좋습니다. 다른 스테이지 형식 유형 (TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML }) 은 이전 버전과의 호환성을 위해 지원됩니다.

스테이지를 생성할 때 file_format 매개 변수를 사용하여 스테이지 유형을 지정할 수 있습니다. CUSTOM 스테이지 유형은 기본 스테이지가 비정형 데이터를 보관하고 FILE_PROCESSOR 복사 옵션과만 함께 사용할 수 있음을 지정합니다.

다음 예제는 모델 이름 predict 및 모델 버전 1 로 지정된 document_ai 함수를 사용하여 스테이지 custom_stage 에서 테이블 my_table 로 비정형 데이터 파일을 로드하는 방법을 보여줍니다.

COPY INTO my_table FROM @custom_stage
  FILE_PROCESSOR = (
    SCANNER = 'document_ai'
    SCANNER_OPTIONS = (project_name = 'DEMO0200', model_name = 'predict' model_version = '1'));
Copy

다음 예제에서는 비정형 데이터 파일을 테이블 docai_results 에 로드하고 SELECT 문을 사용하여 원시 데이터를 변환하는 방법을 보여 줍니다.

CREATE OR REPLACE TABLE docai_results (inspection_date date, inspector varchar);

COPY INTO docai_results FROM (SELECT $1:inspection_date[0].value::date, $1:inspector[0].value FROM @custom_stage)
  FILE_PROCESSOR = (
    SCANNER = 'document_ai'
    SCANNER_OPTIONS = (project_name = 'DEMO0201', model_name = 'predict' model_version = '1'));
Copy

고려 사항 및 제한 사항

  • 이 기능은 다음을 지원하지 않습니다.

  • 기본 ON_ERROR COPY 옵션 ON_ERROR = ABORT_STATEMENT 만 지원됩니다. 다른 ON_ERROR 옵션을 사용하려고 시도하면 컴파일에 실패합니다.

  • 쿼리당 파일 수는 1,000개를 초과할 수 없습니다.