HTTP 연결을 통해 CSV를 읽고 Azure Storage Gen2에 데이터를 저장하는 Azure Data Factory가 있습니다. 파일 형식은 UTC-8입니다. 다각형 정의로 인해 파일이 어떻게 든 손상된 것 같습니다.
파일 내용은 다음과 같습니다.
Shape123 | "MULTIPOLYGON (((496000 6908000, 495000 6908000, 495000 6909000, 496000 6909000, 496000 6908000)))"| "빨간색"| "긴"| "208336"| "5"| "-1"
문제 1 : Polybase가 인코딩에 대해 불평하고 파일을 읽을 수 없습니다.
문제 2 : Databricks 데이터 프레임은이를 처리 할 수 없으며 행을 자르고 "Shape123 |"MULTIPOLYGON (((496000 6908000, "
빠른 솔루션 : Notepad ++로 CSV 파일을 열고 인코딩을 UTC-8로 다시 확인하십시오. 그러면 Polybase가 처리 할 수 있습니다.
질문 : CSV 파일을 자동으로 수정하는 방법은 무엇입니까? CSV 파일을 수정할 수없는 경우 전체 행을 처리하도록 데이터 프레임을 만드는 방법은 무엇입니까?
Polybase는 UTF8 파일 및 다양한 구분 기호에 완벽하게 대처할 수 있습니다. 파이프 구분 기호, 큰 따옴표를 문자열 구분 기호로 사용하여 외부 파일 형식을 만들었습니까?
CREATE EXTERNAL FILE FORMAT ff_pipeFileFormatSHAPE
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = '|',
STRING_DELIMITER = '"',
ENCODING = 'UTF8'
)
);
GO
CREATE EXTERNAL TABLE shape_data (
col1 VARCHAR(20),
col2 VARCHAR(8000),
col3 VARCHAR(20),
col4 VARCHAR(20),
col5 VARCHAR(20),
col6 VARCHAR(20),
col7 VARCHAR(20)
)
WITH (
LOCATION = 'yourPath/shape/shape working.txt',
DATA_SOURCE = ds_azureDataLakeStore,
FILE_FORMAT = ff_pipeFileFormatSHAPE,
REJECT_TYPE = VALUE,
REJECT_VALUE = 0
);
내 결과 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다