View a markdown version of this page

AWS Glue DataBrew레시피 작업 생성 및 작업 - AWS Glue DataBrew개발자 안내서

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Glue DataBrew레시피 작업 생성 및 작업

DataBrew 레시피 작업을 사용하여 DataBrew 데이터 세트의 데이터를 정리 및 정규화하고 원하는 출력 위치에 결과를 작성합니다. 레시피 작업을 실행해도 데이터 세트 또는 기본 소스 데이터에는 영향을 주지 않습니다. 작업이 실행되면 읽기 전용 방식으로 소스 데이터에 연결됩니다. 작업 출력은 Amazon S3 AWS Glue Data Catalog, 또는 지원되는 JDBC 데이터베이스에서 정의한 출력 위치에 기록됩니다.

다음 절차에 따라 DataBrew 레시피 작업을 생성합니다.

레시피 작업을 생성하려면
  1. 에 로그인AWS Management Console하고 https://console.aws.amazon.com/databrew/ DataBrew 콘솔을 엽니다.

  2. 탐색 창에서 JOBS를 선택하고 레시피 작업 탭을 선택한 다음 작업 생성을 선택합니다.

  3. 작업 이름을 입력한 다음 레시피 작업 생성을 선택합니다.

  4. 작업 입력에 생성하려는 작업에 대한 세부 정보, 즉 처리할 데이터 세트의 이름 및 사용할 레시피를 입력합니다.

    레시피 작업은 DataBrew 레시피를 사용하여 데이터 세트를 변환합니다. 레시피를 사용하려면 먼저 레시피를 게시해야 합니다.

  5. 작업 출력 설정을 구성합니다.

    작업 출력의 대상을 제공합니다. 출력 대상에 대해 DataBrew 연결이 구성되어 있지 않은 경우에 설명된 대로 데이터 세트 탭에서 먼저 구성합니다데이터 소스 및 출력에 지원되는 연결. 다음 출력 대상 중 하나를 선택합니다.

    • Amazon S3,AWS Glue Data Catalog지원 여부에 관계없이

    • Amazon Redshift,AWS Glue Data Catalog지원 여부에 관계없이

    • JDBC

    • Snowflake 테이블

    • 가AWS Glue Data Catalog지원되는 Amazon RDS 데이터베이스 테이블. Amazon RDS 데이터베이스 테이블은 다음 데이터베이스 엔진을 지원합니다.

      • Amazon Aurora

      • MySQL

      • Oracle

      • PostgreSQL

      • Microsoft SQL Server

    • AWS Glue Data Catalog Amazon S3 지원.

    기반AWS Glue Data Catalog출력의 경우AWS Lake Formation DataBrew는 기존 파일 교체만 지원합니다. 이 접근 방식에서는 파일이 대체되어 데이터 액세스 역할에 대한 기존 Lake Formation 권한을 그대로 유지합니다. 또한 DataBrew는 테이블의 Amazon S3 위치에AWS Glue Data Catalog우선 순위를 부여합니다. 따라서 레시피 작업을 생성할 때 Amazon S3 위치를 재정의할 수 없습니다.

    경우에 따라 작업 출력의 Amazon S3 위치가 데이터 카탈로그 테이블의 Amazon S3 위치와 다릅니다. 이러한 경우 DataBrew는 카탈로그 테이블의 Amazon S3 위치로 작업 정의를 자동으로 업데이트합니다. 기존 작업을 업데이트하거나 시작할 때이 작업을 수행합니다.

  6. Amazon S3 출력 대상의 경우에만 추가 선택 사항이 있습니다.

    1. Amazon S3에 사용할 수 있는 데이터 출력 형식 중 하나, 선택적 압축 및 선택적 사용자 지정 구분 기호를 선택합니다. 출력 파일에 지원되는 구분 기호는 쉼표, 콜론, 세미콜론, 파이프, 탭, 캐럿, 백슬래시, 스페이스 등 입력용 구분 기호와 동일합니다. 서식 세부 정보는 다음 표를 참조하세요.

      형식 파일 확장명(압축되지 않음) 파일 확장명(압축)

      쉼표로 구분된 값

      .csv .csv.snappy, .csv.gz, .csv.lz4, csv.bz2, .csv.deflate, csv.br

      탭으로 구분된 값

      .csv .tsv.snappy, .tsv.gz, .tsv.lz4, tsv.bz2, .tsv.deflate, tsv.br
      Apache Parquet .parquet .parquet.snappy, .parquet.gz, .parquet.lz4, .parquet.lzo, .parquet.br
      AWS Glue Parquet 지원되지 않음 .glue.parquet.snappy
      Apache Avro .avro .avro.snappy, .avro.gz, .avro.lz4, .avro.bz2, .avro.deflate, .avro.br
      Apache ORC .orc .orc.snappy, .orc.lzo, .orc.zlib
      XML .xml .xml.snappy, .xml.gz, .xml.lz4, .xml.bz2, .xml.deflate, .xml.br
      JSON(JSON Lines 형식만 해당) .json .json.snappy, .json.gz, .json.lz4, json.bz2, .json.deflate, .json.br
      Tableau 하이퍼 지원되지 않음 해당 사항 없음
    2. 단일 파일을 출력할지 아니면 여러 파일을 출력할지 선택합니다. Amazon S3를 사용한 파일 출력에는 세 가지 옵션이 있습니다.

      • 파일 자동 생성(권장) - DataBrew에서 최적의 출력 파일 수를 결정합니다.

      • 단일 파일 출력 - 단일 출력 파일이 생성됩니다. 사후 처리가 필요하므로이 옵션을 사용하면 추가 작업 실행 시간이 발생할 수 있습니다.

      • 다중 파일 출력 - 작업 출력의 파일 수를 지정했는지 여부입니다. 유효한 값은 2~999입니다. 열 파티셔닝을 사용하거나 출력의 행 수가 지정한 파일 수보다 적은 경우 지정한 것보다 적은 파일이 출력될 수 있습니다.

    3. (선택 사항) 레시피 작업 출력에 대한 열 파티셔닝을 선택합니다.

      열 파티셔닝은 레시피 작업 출력을 여러 파일로 파티셔닝하는 또 다른 방법을 제공합니다. 열 파티셔닝은 새 또는 기존 Amazon S3 출력 또는 새 Data Catalog Amazon S3 출력과 함께 사용할 수 있습니다. 기존 Data Catalog Amazon S3 테이블에서는 사용할 수 없습니다. 출력 파일은 지정한 열 이름의 값을 기반으로 합니다. 지정한 열 이름이 고유한 경우 결과 Amazon S3 폴더 경로는 열 이름의 순서를 기반으로 합니다.

      열 파티셔닝의 예는 다음 단원열 파티셔닝의 예을 참조하십시오.

  7. (선택 사항) DataBrew가 출력 위치에 쓰는 작업 출력을 암호화하려면 작업 출력에 암호화 활성화를 선택한 다음 암호화 방법을 선택합니다.

    • SSE-S3 암호화 사용 - 출력은 Amazon S3 관리형 암호화 키를 사용한 서버 측 암호화를 사용하여 암호화됩니다.

    • Use AWS Key Management Service(AWS KMS) - 출력은를 사용하여 암호화됩니다AWS KMS. 이 옵션을 사용하려면 사용하려는AWS KMS키의 Amazon 리소스 이름(ARN)을 선택합니다.AWS KMS키가 없는 경우 키 생성을 선택하여 AWS KMS키를 생성할 수 있습니다.

  8. 액세스 권한에서 DataBrew가 출력 위치에 쓸 수 있도록 허용하는AWS Identity and Access Management(IAM) 역할을 선택합니다. 계정이 소유한 위치의 경우 AwsGlueDataBrewDataAccessRole 서비스 관리형 역할을 선택할 수 있습니다AWS. 이렇게 하면 DataBrew가 사용자가 소유한AWS리소스에 액세스할 수 있습니다.

  9. 고급 작업 설정 창에서 작업 실행 방법에 대한 추가 옵션을 선택할 수 있습니다.

    • 최대 단위 수 - DataBrew는 병렬로 실행되는 여러 컴퓨팅 노드를 사용하여 작업을 처리합니다. 기본 노드 수는 5개입니다. 최대 노드 수는 149개입니다.

    • 작업 제한 시간 - 작업 실행에 설정한 분 이상 걸리는 경우 제한 시간 오류와 함께 작업이 실패합니다. 기본값은 2,880분 또는 48시간입니다.

    • 재시도 횟수 - 실행 중에 작업이 실패하면 DataBrew는 다시 실행을 시도할 수 있습니다. 기본적으로 작업은 재시도되지 않습니다.

    • 작업에 Amazon CloudWatch Logs 활성화 - DataBrew가 진단 정보를 CloudWatch Logs에 게시하도록 허용합니다. 이러한 로그는 문제 해결이나 작업 처리 방법에 대한 자세한 정보를 제공하는 데 유용할 수 있습니다.

  10. 일정 작업의 경우 작업이 특정 시간에 또는 반복적으로 실행되도록 DataBrew 작업 일정을 적용할 수 있습니다. 자세한 내용은 일정에 따라 작업 실행 자동화 단원을 참조하십시오.

  11. 설정이 원하는 대로 되면 작업 생성을 선택합니다. 또는 작업을 즉시 실행하려면 작업 생성 및 실행을 선택합니다.

작업이 실행되는 동안 상태를 확인하여 작업 진행 상황을 모니터링할 수 있습니다. 작업 실행이 완료되면 상태가 성공으로 변경됩니다. 이제 선택한 출력 위치에서 작업 출력을 사용할 수 있습니다.

DataBrew는 나중에 동일한 작업을 실행할 수 있도록 작업 정의를 저장합니다. 작업을 다시 실행하려면 탐색 창에서 작업을 선택합니다. 작업할 작업을 선택한 다음 작업 실행을 선택합니다.

열 파티셔닝의 예

열 분할의 예로 3개의 열을 지정한다고 가정합니다. 각 열의 행에는 두 개의 가능한 값 중 하나가 포함됩니다. Dept 열에는 Admin 또는 값이 있을 수 있습니다Eng. Staff-type 열에는 Part-time 또는 값이 있을 수 있습니다Full-time. Location 열에는 Office1 또는 값이 있을 수 있습니다Office2. 작업 출력의 Amazon S3 버킷은 다음과 같습니다.

s3://bucket/output-folder/Dept=Admin/Staff-type=Part-time/Area=Office1/jobId_timestamp_part0001.csv s3://bucket/output-folder/Dept=Admin/Staff-type=Part-time/Location=Office2/jobId_timestamp_part0002.csv s3://bucket/output-folder/Dept=Admin/Staff-type=Full-time/Location=Office1/jobId_timestamp_part0003.csv s3://bucket/output-folder/Dept=Admin/Staff-type=Full-time/Location=Office2/jobId_timestamp_part0004.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Part-time/Location=Office1/jobId_timestamp_part0005.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Part-time/Location=Office2/jobId_timestamp_part0006.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Full-time/Location=Office1/jobId_timestamp_part0007.csv s3://bucket/output-folder/Dept=Eng/Staff-type=Full-time/Location=Office2/jobId_timestamp_part0008.csv

일정에 따라 작업 실행 자동화

언제든지 DataBrew 작업을 다시 실행하고 일정에 따라 DataBrew 작업 실행을 자동화할 수도 있습니다.

DataBrew 작업을 다시 실행하려면
  1. 에 로그인AWS Management Console하고 https://console.aws.amazon.com/databrew/ DataBrew 콘솔을 엽니다.

  2. 탐색 창에서 작업을 선택합니다. 실행할 작업을 선택한 다음 작업 실행을 선택합니다.

특정 시간에 또는 반복적으로 DataBrew 작업을 실행하려면 DataBrew 작업 일정을 생성합니다. 그런 다음 일정에 따라 실행되도록 작업을 설정할 수 있습니다.

DataBrew 작업 일정을 생성하려면
  1. DataBrew 콘솔의 탐색 창에서 작업을 선택합니다. 일정 탭을 선택하고 일정 추가를 선택합니다.

  2. 일정 이름을 입력한 다음 실행 빈도 값을 선택합니다.

    • 반복 - 작업을 실행할 빈도를 선택합니다(예: 12시간마다). 그런 다음 작업을 실행할 요일을 선택합니다. 선택적으로 작업이 실행되는 시간을 입력할 수 있습니다.

    • 특정 시간 - 작업을 실행할 시간을 입력합니다. 그런 다음 작업을 실행할 요일을 선택합니다.

    • CRON 입력 - 유효한 cron 표현식을 입력하여 작업 일정을 정의합니다. 자세한 내용은 레시피 작업에 대한 cron 표현식 작업 단원을 참조하십시오.

  3. 원하는 대로 설정되었으면 [Save]를 선택합니다.

작업을 일정과 연결하려면
  1. 탐색 창에서 작업을 선택합니다.

  2. 작업할 작업을 선택한 다음 작업에서 편집을 선택합니다.

  3. 일정 작업 창에서 일정 연결을 선택합니다. 사용할 일정의 이름을 선택합니다.

  4. 원하는 대로 설정되었으면 [Save]를 선택합니다.

레시피 작업에 대한 cron 표현식 작업

cron 표현식에는 각각 공백으로 구분되는 필수 필드 6개가 있습니다. 구문은 다음과 같습니다.

Minutes Hours Day-of-month Month Day-of-week Year

앞의 구문에서는 표시된 필드에 다음 값과 와일드카드가 사용됩니다.

필드 와일드카드

Minutes

0~59

, - * /

Hours

0~23

, - * /

Day-of-month

1~31

, - * ? / L W

1~12 또는 JAN-DEC

, - * /

요일

1~7 또는 SUN~SAT

, - * ? / L

연도

1970~2199

, - * /

다음과 같이 이러한 와일드카드를 사용합니다.

  • ,(쉼표) 와일드카드는 추가 값을 포함합니다. Month 필드에는 1월, 2월, 3월을 JAN,FEB,MAR 포함합니다.

  • -(en dash) 와일드카드는 범위를 지정합니다. Day 필드에서 1~15에는 지정된 달의 1~15일이 포함됩니다.

  • *(별표) 와일드카드는 필드의 모든 값을 포함합니다. Hours 필드에서 *는 매시간을 포함합니다.

  • /(슬래시) 와일드카드로 증분을 지정합니다. Minutes 필드에 1/10를 입력하여 매 10분마다 지정할 수 있습니다. 첫 1분부터 시작합니다(예: 11분, 21분, 31분).

  • ?(물음표) 와일드카드는 어떤 한 가지나 다른 것을 지정합니다. 예를 들어 Day-of-month 필드에 7을 입력한다고 가정해 보겠습니다. 일곱 번째 주중의 요일을 신경쓰지 않았다면를 입력할 수 있습니까? Day-of-week 필드에를 입력합니다.

  • Day-of-month 또는 Day-of-week 필드의 L 와일드카드는 월 또는 주의 마지막 날짜를 지정합니다.

  • ] 필드에서는 W 와일드카드로 어떤 한 평일을 지정할 수 있습니다. Day-of-month Day-of-month 필드에서 3W를 해당 월의 세 번째 평일에 가장 가까운 날을 지정할 수 있습니다.

이러한 필드 및 값에는 다음과 같은 제한 사항이 있습니다.

  • 동일한 cron 표현식에 Day-of-monthDay-of-week 필드를 지정할 수 없습니다. 이 필드 중 하나에 값을 지정하는 경우에는 다른 필드에서 반드시 ?(물음표)를 사용해야 합니다.

  • 5분보다 빠른 속도로 이어지는 Cron 표현식은 지원되지 않습니다.

일정을 생성할 때는 다음과 같은 Cron 문자열을 사용할 수 있습니다.

시간 요일 연도 의미

0

10

*

*

?

*

매일 오전 10시(UTC)에 실행

15

12

*

*

?

*

매일 오후 12시 15분(UTC)에 실행

0

18

?

*

월-금

*

매주 월요일부터 금요일까지 오후 6시(UTC)에 실행

0

8

1

*

?

*

매월 1일 오전 8시(UTC)에 실행

0/15

*

*

*

?

*

15분마다 실행

0/10

*

?

*

월-금

*

월요일부터 금요일까지 10분마다 실행

0/5

8~17

?

*

월-금

*

월요일부터 금요일까지 오전 8시부터 오후 5시 55분(UTC) 사이에 5분마다 실행

예를 들어 다음 cron 표현식을 사용하여 매일 12:15 UTC에 작업을 실행할 수 있습니다.

15 12 * * ? *

작업 및 작업 일정 삭제

작업 또는 작업 일정이 더 이상 필요하지 않은 경우 삭제할 수 있습니다.

작업 삭제
  1. 탐색 창에서 작업을 선택합니다.

  2. 삭제할 작업을 선택한 다음 작업에서 삭제를 선택합니다.

작업 일정을 삭제하려면
  1. 탐색 창에서 작업을 선택한 다음 일정 탭을 선택합니다.

  2. 삭제할 일정을 선택한 다음 작업에서 삭제를 선택합니다.