쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

AWS Glue에서 CSV 데이터로 작업

포커스 모드

이 페이지에서

AWS Glue에서 CSV 데이터로 작업 - Amazon Athena

이 페이지에서는 AWS Glue를 사용하여 각 열의 데이터 값을 따옴표로 묶은 CSV 파일 또는 헤더 값이 포함된 CSV 파일에서 스키마를 만드는 방법을 설명합니다.

따옴표로 묶은 CSV 데이터 취급

다음 예시처럼 데이터 필드를 큰따옴표로 묶은 CSV 파일이 있다고 가정해 보겠습니다.

"John","Doe","123-555-1231","John said \"hello\"" "Jane","Doe","123-555-9876","Jane said \"hello\""

따옴표로 묶인 값을 가진 CSV 파일에서 생성된 테이블에 대해 Athena에서 쿼리를 실행하려면 OpenCSVSerDe를 사용하기 위해 AWS Glue에서 테이블 속성을 수정해야 합니다. OpenCSV SerDe에 대한 자세한 내용은 CSV 처리를 위한 Open CSV SerDe 단원을 참조하세요.

AWS Glue 콘솔에서 테이블 속성을 편집하려면
  1. AWS Glue 콘솔 탐색 창에서 테이블을 선택합니다.

  2. 편집할 테이블 링크를 선택한 다음 작업(Actions), 테이블 편집(Edit table)을 선택합니다.

  3. 테이블 편집 페이지에서 다음과 같이 변경합니다.

    • 직렬화 라이브러리(Serialization lib)org.apache.hadoop.hive.serde2.OpenCSVSerde를 입력합니다.

    • Serde 파라미터(Serde parameters)에서 escapeChar, quoteChar, separatorChar 키에 다음 값을 입력합니다.

      • escapeChar에 백슬래시(\)를 입력합니다.

      • quoteChar에 큰따옴표(")를 입력합니다.

      • separatorChar에 쉼표(,)를 입력합니다.

  4. Save(저장)를 선택합니다.

자세한 내용은 AWS Glue 개발자 안내서테이블 세부 정보 보기 및 편집을 참조하세요.

프로그래밍 방식으로 AWS Glue 테이블 속성을 업데이트할 수도 있습니다. 다음 JSON 예제처럼 AWS Glue UpdateTable API 작업 또는 update-table AWS CLI 명령을 사용해 테이블 정의의 SerDeInfo 블록을 수정합니다.

"SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "," "quoteChar": "\"" "escapeChar": "\\" } },

헤더가 포함된 CSV 파일 취급

다음 예제와 같이 CREATE TABLE 문으로 Athena에서 테이블을 정의할 때 skip.header.line.count 테이블 속성을 사용하여 CSV 데이터의 헤더를 무시할 수 있습니다.

... STORED AS TEXTFILE LOCATION 's3://amzn-s3-demo-bucket/csvdata_folder/'; TBLPROPERTIES ("skip.header.line.count"="1")

또는 헤더 정보가 Athena 쿼리 결과에 포함되지 않도록 미리 CSV 헤더를 제거할 수 있습니다. 한 가지 방법은 추출, 변환 및 로드(ETL) 작업을 수행하는 AWS Glue 작업을 사용하는 것입니다. AWS Glue에서 PySpark Python 언어의 확장 언어를 사용하여 스크립트를 작성할 수 있습니다. 자세한 내용은 AWS Glue 개발자 안내서AWS Glue에 작업 작성을 참조하세요.

다음 예는 from_options를 사용하여 동적 프레임을 작성하고 writeHeader 형식 옵션을 false로 설정하여 헤더 정보를 제거하는 AWS Glue 스크립트의 함수를 보여줍니다.

glueContext.write_dynamic_frame.from_options(frame = applymapping1, connection_type = "s3", connection_options = {"path": "s3://amzn-s3-demo-bucket/MYTABLEDATA/"}, format = "csv", format_options = {"writeHeader": False}, transformation_ctx = "datasink2")
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.