DOCUMENTATION
시작하기
가이드
개발자
참조
릴리스
상태
Ctrl+K

시작하기

  1. 개요
    • 개념
      • 자습서
        • 빠른 시작
          • 샘플 데이터
            시작하기자습서대량 로딩COPY를 사용하여 Amazon S3에서 대량 로드4단계. 데이터 문제와 관련된 데이터 로드 오류 해결

            4단계. 데이터 문제와 관련된 데이터 로드 오류 해결¶

            앞선 단계에서 COPY INTO 명령은 첫 번째 오류가 발생했을 때 파일 중 하나를 로드하는 과정을 건너뛰었습니다. 모든 오류를 찾아야 합니다. 이 단계에서는 VALIDATE 함수를 사용하여 COPY INTO 명령의 이전 실행에 대한 유효성을 검사하고 모든 오류를 반환합니다.

            샘플 데이터 파일 유효성 검사 및 오류 검색하기¶

            먼저 이전에 실행한 COPY INTO 명령과 관련된 검색 쿼리 ID가 필요합니다. 그런 다음 쿼리 ID를 지정하는 VALIDATE 함수를 호출합니다.

            1. 쿼리 ID를 검색합니다.

              1. Snowsight 에 로그인합니다.

              2. Snowsight의 역할이 이 자습서에 따라 SQL 문을 실행하기 위해 SnowSQL에서 사용하는 역할과 동일한지 확인하십시오.

              3. Activity » Query History 를 클릭합니다.

              4. 특정 COPY INTO 명령에 대한 행을 선택하여 쿼리 정보 창을 엽니다.

              5. Query ID 값을 복사합니다.

            2. 쿼리 ID로 표시되는 COPY INTO 명령 실행의 유효성을 검사하고 save_copy_errors 라는 새 테이블에 오류를 저장합니다.

              1. SnowSQL에서 다음 명령을 실행합니다. query_id 를 Query ID 값으로 바꿉니다.

                CREATE OR REPLACE TABLE save_copy_errors AS SELECT * FROM TABLE(VALIDATE(mycsvtable, JOB_ID=>'<query_id>'));
                
                Copy
              2. save_copy_errors 테이블을 쿼리합니다.

                SELECT * FROM SAVE_COPY_ERRORS;
                
                Copy

                쿼리에서 반환되는 결과는 다음과 같습니다.

                +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+------+-----------+-------------+----------+--------+-----------+-------------------------------+------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
                | ERROR                                                                                                                                                                | FILE                                | LINE | CHARACTER | BYTE_OFFSET | CATEGORY |   CODE | SQL_STATE | COLUMN_NAME                   | ROW_NUMBER | ROW_START_LINE | REJECTED_RECORD                                                                                                                                     |
                |----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+------+-----------+-------------+----------+--------+-----------+-------------------------------+------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------|
                | Number of columns in file (11) does not match that of the corresponding table (10), use file format option error_on_column_count_mismatch=false to ignore this error | mycsvtable/contacts3.csv.gz         |    3 |         1 |         234 | parsing  | 100080 |     22000 | "MYCSVTABLE"[11]              |          1 |              2 | 11|Ishmael|Burnett|Dolor Elit Pellentesque Ltd|vitae.erat@necmollisvitae.ca|1-872|600-7301|1-513-592-6779|P.O. Box 975, 553 Odio, Road|Hulste|63345 |
                | Field delimiter '|' found while expecting record delimiter '\n'                                                                                                      | mycsvtable/contacts3.csv.gz         |    5 |       125 |         625 | parsing  | 100016 |     22000 | "MYCSVTABLE"["POSTALCODE":10] |          4 |              5 | 14|Sophia|Christian|Turpis Ltd|lectus.pede@non.ca|1-962-503-3253|1-157-|850-3602|P.O. Box 824, 7971 Sagittis Rd.|Chattanooga|56188                  |
                +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+------+-----------+-------------+----------+--------+-----------+-------------------------------+------------+----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------+
                
                Copy

            이 결과는 mycsvtable/contacts3.csv.gz 에서 데이터 오류를 두 개 보여줍니다.

            • Number of columns in file (11) does not match that of the corresponding table (10)

              1행에서 하이픈이 데이터 파일 구분 기호인 파이프(|) 문자로 잘못 대체되어 사실상 레코드에 추가 열이 생성되었습니다.

              Example 1 data error in record
            • Field delimiter '|' found while expecting record delimiter '\n'

              5행에서는 하이픈 뒤에 추가 파이프(|) 문자를 사용하여 레코드가 깨졌습니다.

              Example 1 data error in record

            오류 수정 및 데이터 파일 다시 로드하기¶

            일반적인 사용에서는 문제가 있는 레코드를 수동으로 수정하고 새 데이터 파일에 기록합니다. 그런 다음 고정 데이터 파일을 S3 버킷에 스테이징하고 파일에서 데이터를 다시 로드하려고 시도합니다. 이 자습서에서는 Snowflake에서 제공하는 샘플 데이터를 수정하지 않은 채 그대로 사용하고 있습니다.

            로드된 데이터 확인하기¶

            SELECT 문을 실행하여 데이터 로드가 성공했는지 확인합니다.

            CSV¶

            SELECT * FROM mycsvtable;
            
            Copy

            쿼리에서 반환되는 결과는 다음과 같습니다.

            +----+-----------+------------+----------------------------------+----------------------------------------+----------------+----------------+--------------------------------+------------------+------------+
            | ID | LAST_NAME | FIRST_NAME | COMPANY                          | EMAIL                                  | WORKPHONE      | CELLPHONE      | STREETADDRESS                  | CITY             | POSTALCODE |
            |----+-----------+------------+----------------------------------+----------------------------------------+----------------+----------------+--------------------------------+------------------+------------|
            |  6 | Reed      | Moses      | Neque Corporation                | eget.lacus@facilisis.com               | 1-449-871-0780 | 1-454-964-5318 | Ap #225-4351 Dolor Ave         | Titagarh         |      62631 |
            |  7 | Audrey    | Franks     | Arcu Eu Limited                  | eu.dui@aceleifendvitae.org             | 1-527-945-8935 | 1-263-127-1173 | Ap #786-9241 Mauris Road       | Bergen           |      81958 |
            |  8 | Jakeem    | Erickson   | A Ltd                            | Pellentesque.habitant@liberoProinmi.ca | 1-381-591-9386 | 1-379-391-9490 | 319-1703 Dis Rd.               | Pangnirtung      |      62399 |
            |  9 | Xaviera   | Brennan    | Bibendum Ullamcorper Limited     | facilisi.Sed.neque@dictum.edu          | 1-260-757-1919 | 1-211-651-0925 | P.O. Box 146, 8385 Vel Road    | Béziers          |      13082 |
            | 10 | Francis   | Ortega     | Vitae Velit Egestas Associates   | egestas.rhoncus.Proin@faucibus.com     | 1-257-584-6487 | 1-211-870-2111 | 733-7191 Neque Rd.             | Chatillon        |      33081 |
            | 16 | Aretha    | Sykes      | Lobortis Tellus Justo Foundation | eget@Naminterdumenim.net               | 1-670-849-1866 | 1-283-783-3710 | Ap #979-2481 Dui. Av.          | Thurso           |      66851 |
            | 17 | Akeem     | Casey      | Pharetra Quisque Ac Institute    | dictum.eu@magna.edu                    | 1-277-657-0361 | 1-623-630-8848 | Ap #363-6074 Ullamcorper, Rd.  | Idar-Oberstei    |      30848 |
            | 18 | Keelie    | Mendez     | Purus In Foundation              | Nulla.eu.neque@Aeneanegetmetus.co.uk   | 1-330-370-8231 | 1-301-568-0413 | 3511 Tincidunt Street          | Lanklaar         |      73942 |
            | 19 | Lane      | Bishop     | Libero At PC                     | non@dapibusligula.ca                   | 1-340-862-4623 | 1-513-820-9039 | 7459 Pede. Street              | Linkebeek        |      89252 |
            | 20 | Michelle  | Dickson    | Ut Limited                       | Duis.dignissim.tempor@cursuset.org     | 1-202-490-0151 | 1-129-553-7398 | 6752 Eros. St.                 | Stornaway        |      61290 |
            | 20 | Michelle  | Dickson    | Ut Limited                       | Duis.dignissim.tempor@cursuset.org     | 1-202-490-0151 | 1-129-553-7398 | 6752 Eros. St.                 | Stornaway        |      61290 |
            | 21 | Lance     | Harper     | Rutrum Lorem Limited             | Sed.neque@risus.com                    | 1-685-778-6726 | 1-494-188-6168 | 663-7682 Et St.                | Gisborne         |      73449 |
            | 22 | Keely     | Pace       | Eleifend Limited                 | ante.bibendum.ullamcorper@necenim.edu  | 1-312-381-5244 | 1-432-225-9226 | P.O. Box 506, 5233 Aliquam Av. | Woodlands County |      61213 |
            | 23 | Sage      | Leblanc    | Egestas A Consulting             | dapibus@elementum.org                  | 1-630-981-0327 | 1-301-287-0495 | 4463 Lorem Road                | Woodlands County |      33951 |
            | 24 | Marny     | Holt       | Urna Nec Luctus Associates       | ornare@vitaeorci.ca                    | 1-522-364-3947 | 1-460-971-8360 | P.O. Box 311, 4839 Nulla Av.   | Port Coquitlam   |      36733 |
            | 25 | Holly     | Park       | Mauris PC                        | Vestibulum.ante@Maecenasliberoest.org  | 1-370-197-9316 | 1-411-413-4602 | P.O. Box 732, 8967 Eu Avenue   | Provost          |      45507 |
            |  1 | Imani     | Davidson   | At Ltd                           | nec@sem.net                            | 1-243-889-8106 | 1-730-771-0412 | 369-6531 Molestie St.          | Russell          |      74398 |
            |  2 | Kelsie    | Abbott     | Neque Sed Institute              | lacus@pede.net                         | 1-467-506-9933 | 1-441-508-7753 | P.O. Box 548, 1930 Pede. Road  | Campbellton      |      27022 |
            |  3 | Hilel     | Durham     | Pede Incorporated                | eu@Craspellentesque.net                | 1-752-108-4210 | 1-391-449-8733 | Ap #180-2360 Nisl. Street      | Etalle           |      84025 |
            |  4 | Graiden   | Molina     | Sapien Institute                 | sit@fermentum.net                      | 1-130-156-6666 | 1-269-605-7776 | 8890 A, Rd.                    | Dundee           |      70504 |
            |  5 | Karyn     | Howard     | Pede Ac Industries               | sed.hendrerit@ornaretortorat.edu       | 1-109-166-5492 | 1-506-782-5089 | P.O. Box 902, 5398 Et, St.     | Saint-Hilarion   |      26232 |
            +----+-----------+------------+----------------------------------+----------------------------------------+----------------+----------------+--------------------------------+------------------+------------+
            
            Copy

            JSON¶

            SELECT * FROM myjsontable;
            
            Copy

            쿼리에서 반환되는 결과는 다음과 같습니다.

            +-----------------------------------------------------------------+
            | JSON_DATA                                                       |
            |-----------------------------------------------------------------|
            | {                                                               |
            |   "customer": {                                                 |
            |     "_id": "5730864df388f1d653e37e6f",                          |
            |     "address": "509 Kings Hwy, Comptche, Missouri, 4848",       |
            |     "company": "ORBIN",                                         |
            |     "email": "blankenship.patrick@orbin.ca",                    |
            |     "name": {                                                   |
            |       "first": "Blankenship",                                   |
            |       "last": "Patrick"                                         |
            |     },                                                          |
            |     "phone": "+1 (999) 407-2274"                                |
            |   }                                                             |
            | }                                                               |
            | {                                                               |
            |   "customer": {                                                 |
            |     "_id": "5730864d4d8523c8baa8baf6",                          |
            |     "address": "290 Lefferts Avenue, Malott, Delaware, 1575",   |
            |     "company": "SNIPS",                                         |
            |     "email": "anna.glass@snips.name",                           |
            |     "name": {                                                   |
            |       "first": "Anna",                                          |
            |       "last": "Glass"                                           |
            |     },                                                          |
            |     "phone": "+1 (958) 411-2876"                                |
            |   }                                                             |
            | }                                                               |
            | {                                                               |
            |   "customer": {                                                 |
            |     "_id": "5730864e375e08523150fc04",                          |
            |     "address": "756 Randolph Street, Omar, Rhode Island, 3310", |
            |     "company": "ESCHOIR",                                       |
            |     "email": "sparks.ramos@eschoir.co.uk",                      |
            |     "name": {                                                   |
            |       "first": "Sparks",                                        |
            |       "last": "Ramos"                                           |
            |     },                                                          |
            |     "phone": "+1 (962) 436-2519"                                |
            |   }                                                             |
            | }                                                               |
            +-----------------------------------------------------------------+
            
            Copy

            다음 항목: 5단계. Clean Up

            이 페이지가 도움이 되었습니까?

            Snowflake logo
            Snowflake 방문하기
            피드백할 사항이 있으십니까? 저희에게 알려주십시오
            커뮤니티에서 대화 참여하기
            블로그에서 최신 게시물 읽기
            Snowflake로 개발하기
            Snowflake 인증 받기
            개인정보 보호정책사이트 이용약관© 2023 Snowflake, Inc. All Rights Reserved.
            1. 샘플 데이터 파일 유효성 검사 및 오류 검색하기
            2. 오류 수정 및 데이터 파일 다시 로드하기
            3. 로드된 데이터 확인하기
            1. 전제 조건
            2. 1단계. 파일 형식 오브젝트 만들기
            3. 2단계. 스테이지 오브젝트 만들기
            4. 3단계. 데이터를 대상 테이블로 복사
            5. 5단계. Clean Up
            언어: 한국어
            English
            Français
            Deutsch
            日本語
            한국어
            Português