AWS Glue에서 사용하는 작업 파라미터 - AWS Glue

AWS Glue에서 사용하는 작업 파라미터

이 문서에 나열된 인수를 사용하여 AWS Glue 작업을 구성할 수 있습니다. 작업 파라미터(Job Parameters) 제목 아래의 작업 세부 정보(Job details) 탭에서 콘솔을 통해 작업을 구성할 수 있습니다. 작업에서 DefaultArguments 또는 NonOverridableArguments를 설정하거나 작업 실행에서 Arguments를 설정하여 AWS CLI를 통해 작업을 구성할 수 있습니다. 기본 인수 및 작업 파라미터는 여러 번 실행해도 작업과 함께 유지됩니다. AWS Glue API에 대한 자세한 정보는 작업 섹션을 참조하세요.

예를 들어 다음은 특수 파라미터를 설정하기 위해 --arguments를 사용하여 작업을 실행하는 구문입니다.

$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py"'

AWS Glue는 작업 및 작업 실행에 대한 스크립트 환경을 설정하는 데 사용할 수 있는 여러 인수 이름을 인식합니다.

  • --job-language - 스크립트 프로그래밍 언어. 이 값은 scala 또는 python이어야 합니다. 이 파라미터가 존재하지 않을 경우 기본값은 python입니다.

  • --class - Scala 스크립트 진입점으로써 Scala 클래스. 이는 --job-languagescala로 설정된 경우에만 적용됩니다.

  • --scriptLocation - ETL 스크립트가 있는 Amazon Simple Storage Service(Amazon S3) 위치입니다(s3://path/to/my/script.py 형식). 이 파라미터는 JobCommand 객체에 설정된 스크립트 위치를 재정의합니다.

  • --additional-python-modules - 설치할 python 패키지 세트를 나타내는 쉼표로 구분된 목록입니다. PyPI에서 패키지를 설치하거나 사용자 지정 배포를 제공할 수 있습니다. PyPI 패키지 항목은 package==version 형식(대상 패키지의 PyPI 이름 및 버전)입니다. 사용자 지정 배포 항목은 배포에 대한 S3 경로입니다.

    항목은 Python 버전 일치를 사용하여 패키지와 버전을 일치시킵니다. 즉, 2개의 등호(예: ==)를 사용해야 합니다. 다른 버전 일치 연산자도 있습니다. 자세한 내용을 알아보려면 PEP 440을 참조하세요.

  • --python-modules-installer-option - pip3(ㅡ)로 모듈을 설치할 때 --additional-python-modules에 전달할 옵션을 정의하는 일반 텍스트 문자열입니다. 명령줄에서와 같이 공백으로 구분되고 접두사가 대시로 된 옵션을 제공합니다. 사용에 대한 자세한 내용을 알아보려면 AWS Glue 2.0+에서 pip를 사용하여 추가 Python 모듈 설치을(를) 참조하세요.

  • --extra-py-files - 스크립트를 실행하기 전에 AWS Glue가 Python 경로에 추가하는 추가 Python 모듈에 대한 Amazon S3 경로입니다. 여러 값은 쉼표(,)로 구분된 완전한 경로여야 합니다. 개별 파일만 지원되면 디렉터리 경로는 지원되지 않습니다.

  • --extra-jars - 스크립트를 실행하기 전에 AWS Glue가 Java 클래스 경로에 추가하는 추가 Java .jar 파일에 대한 Amazon S3 경로입니다. 여러 값은 쉼표(,)로 구분된 완전한 경로여야 합니다.

  • --user-jars-first - 이 값을 true로 설정하면 클래스 경로에 있는 고객의 추가 JAR 파일의 우선순위를 지정합니다. 이 옵션은 AWS Glue 버전 2.0 이상에서만 사용할 수 있습니다.

  • --use-postgres-driver - 이 값을 true로 설정하면 Amazon Redshift JDBC 드라이버와의 충돌을 피하기 위해 클래스 경로에서 Postgres JDBC 드라이버의 우선순위를 지정합니다. 이 옵션은 AWS Glue 버전 2.0에서만 사용할 수 있습니다.

  • --extra-files - 스크립트를 실행하기 전에 AWS Glue가 스크립트의 작업 디렉터리에 복사하는 구성 파일과 같은 추가 파일에 대한 Amazon S3 경로입니다. 여러 값은 쉼표(,)로 구분된 완전한 경로여야 합니다. 개별 파일만 지원되면 디렉터리 경로는 지원되지 않습니다.

  • --disable-proxy-v2 - 서비스 프록시를 비활성화하여 Amazon S3, CloudWatch, VPC를 통해 스크립트에서 시작하는 AWS Glue에 대한 AWS 서비스 호출을 허용합니다. 자세한 내용은 VPC를 통과하도록 AWS 호출 구성 을 참조하세요.

  • --job-bookmark-option - 작업 북마크 동작을 제어합니다. 다음 옵션 값을 설정할 수 있습니다.

    ‑‑ job‑bookmark‑option 값 설명
    job-bookmark-enable 이전에 처리된 데이터를 계속 추적합니다. 작업이 실행되면 마지막 체크포인트 이후의 새로운 데이터를 진행합니다.
    job-bookmark-disable 항상 전체 데이터셋을 진행합니다. 이전에 실행된 작업의 출력값 관리는 여러분이 직접 수행해야 합니다.
    job-bookmark-pause 마지막 북마크의 상태를 업데이트하지 않고 마지막으로 성공한 실행 이후의 증분 데이터 또는 다음 하위 옵션으로 식별된 범위의 데이터를 처리합니다. 이전에 실행된 작업의 출력값 관리는 여러분이 직접 수행해야 합니다. 두 하위 옵션은 다음과 같습니다.
    • job-bookmark-from <from-value>는 이전에 마지막으로 성공한 실행까지 처리된 모든 입력을 나타내는 실행 ID이며, 지정된 실행 ID를 포함합니다. 해당하는 입력은 무시됩니다.

    • job-bookmark-to <to-value>는 이전에 마지막으로 성공한 실행까지 처리된 모든 입력을 나타내는 실행 ID이며, 지정된 실행 ID를 포함합니다. <from-value>에 의해 식별된 입력을 제외한 해당하는 입력이 작업에 의해 처리됩니다. 이 입력 이후의 입력도 처리에서 제외됩니다.

    이 옵션 세트를 지정하면 작업 북마크 상태가 업데이트되지 않습니다.

    하위 옵션은 선택 사항입니다. 그러나 사용할 경우 두 하위 옵션 모두 제공해야 합니다.

    예를 들어, 작업 북마크를 활성화하려면 다음 인수를 전달합니다.

    '--job-bookmark-option': 'job-bookmark-enable'
  • --TempDir - 작업의 임시 디렉터리로 사용될 수 있는 버킷에 대한 Amazon S3 경로를 지정합니다.

    예를 들어, 임시 디렉터리를 설정하려면 다음 인수를 전달합니다.

    '--TempDir': 's3-path-to-directory'
    참고

    리전에 버킷이 아직 없는 경우 AWS Glue에서 작업에 대한 임시 버킷을 생성합니다. 이 버킷은 퍼블릭 액세스를 허용할 수 있습니다. Amazon S3에서 버킷을 수정하여 퍼블릭 액세스 차단을 설정하거나 나중에 해당 리전의 모든 작업이 완료된 후 버킷을 삭제할 수 있습니다.

  • --enable-auto-scaling - 이 값을 true로 설정할 경우 자동 크기 조정과 작업자별 청구를 사용하는 기능을 켭니다.

  • --enable-s3-parquet-optimized-committer - Amazon S3에 Parquet 데이터를 쓸 수 있도록 EMRFS S3 최적화 커미터를 사용합니다. AWS Glue 작업을 생성하거나 업데이트할 때 AWS Glue 콘솔을 통해 파라미터/값 쌍을 제공할 수 있습니다. 값을 true로 설정하면 커미터가 활성화됩니다. 기본적으로 플래그는 비활성화되어 있습니다.

    자세한 내용은 EMRFS S3 최적화 커미터 사용을 참조하십시오.

  • --enable-rename-algorithm-v2 - EMRFS 이름 바꾸기 알고리즘 버전을 버전 2로 설정합니다. Spark 작업에서 동적 파티션 덮어쓰기 모드를 사용하는 경우 중복 파티션이 생성될 가능성이 있습니다. 예를 들어, s3://bucket/table/location/p1=1/p1=1과 같은 중복 파티션으로 끝날 수 있습니다. 여기서 P1은 덮어쓰는 파티션입니다. 이름 바꾸기 알고리즘 버전 2가 이 문제를 해결합니다.

    이 옵션은 AWS Glue 버전 1.0에서만 사용할 수 있습니다.

  • --enable-glue-datacatalog - AWS Glue Data Catalog를 Apache Spark Hive 메타스토어로 사용할 수 있습니다. 이 기능을 사용하려면 키만 지정하면 되고, 값은 필요하지 않습니다.

  • --enable-metrics - 이 작업 실행을 위해 작업 프로파일링용 지표 수집을 사용합니다. 이러한 지표는 AWS Glue 콘솔과 Amazon CloudWatch 콘솔에서 사용할 수 있습니다. 지표를 활성화하려면 키만 지정하면 되고, 값은 필요하지 않습니다.

  • --enable-continuous-cloudwatch-log - AWS Glue 작업에 대해 실시간 연속 로깅을 사용합니다. CloudWatch에서 실시간 Apache Spark 작업 로그를 볼 수 있습니다.

  • --enable-continuous-log-filter - 연속 로깅을 사용하여 작업을 생성하거나 편집할 때 표준 필터(true) 또는 필터 없음(false)을 지정합니다. 표준 필터를 선택하면 유용하지 않은 Apache Spark 드라이버/실행기 및 Apache Hadoop YARN 하트비트 로그 메시지가 제거됩니다. 필터 없음을 선택하면 모든 로그 메시지가 제공됩니다.

  • --enable-job-insights— AWS Glue 작업 실행 인사이트로 추가 오류 분석 모니터링을 활성화합니다. 자세한 내용은 AWS Glue 작업 실행 인사이트를 사용한 모니터링 단원을 참조하십시오. 기본적으로 이 값은 true로 설정되고 작업 실행 인사이트가 활성화됩니다.

    이 옵션은 AWS Glue 버전 2.0과 3.0에서 사용할 수 있습니다.

  • --continuous-log-logGroup - 연속 로깅에 사용되는 활성화된 작업의 사용자 정의 Amazon CloudWatch 로그 그룹 이름을 지정합니다.

  • --continuous-log-logStreamPrefix - 연속 로깅에 사용되는 작업의 사용자 정의 CloudWatch 로그 스트림 접두사를 지정합니다.

  • --continuous-log-conversionPattern - 연속 로깅에 사용되는 작업의 사용자 정의 변환 로그 패턴을 지정합니다. 변환 패턴은 드라이버 로그와 실행기 로그에만 적용됩니다. AWS Glue 진행률 표시줄에는 영향을 주지 않습니다.

  • --enable-spark-ui - true로 설정하면 Spark UI를 사용하여 AWS Glue ETL 작업을 모니터링하고 디버그하는 기능을 켭니다.

  • --spark-event-logs-path - Amazon S3 경로를 지정합니다. Spark UI 모니터링 기능을 사용하는 경우 AWS Glue는 Spark UI 이벤트를 저장하기 위해 임시 디렉터리로 사용할 수 있는 버킷에 이 Amazon S3 경로에 대한 Spark 이벤트 로그를 30초마다 플러시합니다.

AWS Glue는 다음 인수를 내부적으로 사용하므로 절대 사용해서는 안 됩니다.

  • --conf - AWS Glue 내부 설정해서는 안 됩니다.

  • --debug - AWS Glue 내부 설정해서는 안 됩니다.

  • --mode - AWS Glue 내부 설정해서는 안 됩니다.

  • --JOB_NAME - AWS Glue 내부 설정해서는 안 됩니다.