AWS Glue 작업에서 생성된 로그의 양을 줄이려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 7월 29일

AWS Glue 작업이 Amazon CloudWatch에서 너무 많은 로그를 생성하고 있습니다. 생성된 로그 수를 줄이고 싶습니다.

해결 방법

AWS Glue-Spark ETL 작업을 사용하면 AWS Glue 작업이 실행되는 인스턴스에서 생성된 로그의 세부 수준을 제어할 수 없습니다. 로그는 자세한 정보를 제공하므로 내부 오류를 모니터링하고 작업 실패를 진단하는 데 도움이 될 수 있습니다. 그러나 다음을 수행하여 Spark 로깅 수준을 정의할 수 있습니다.

연속 로깅을 위한 표준 필터 설정 선택

작업에 대해 연속 로깅을 설정한 경우 로그 필터링 옵션에서 표준 필터를 선택합니다. 이 필터는 유용하지 않은 Apache Spark 드라이버/실행자 및 Apache Hadoop YARN 하트비트 로그 메시지를 정리하는 데 도움이 될 수 있습니다. AWS Glue 작업에 대한 로그 필터 설정을 변경하려면 다음을 수행합니다.

  1. AWS Glue 콘솔을 엽니다.
  2. 탐색 창에서 작업을 선택합니다.
  3. 업데이트할 작업을 선택합니다.
  4. 작업을 선택한 다음 작업 편집을 선택합니다.
  5. 모니터링 옵션 섹션을 확장합니다.
  6. 연속 로깅을 선택합니다.
  7. 로그 필터링에서 표준 필터를 선택합니다.
  8. 저장을 선택합니다.

AWS Command Line Interface(AWS CLI) 에서 이 설정을 변경하려면 다음 명령을 사용합니다.

'--enable-continuous-cloudwatch-log': 'true'
'--enable-continuous-log-filter': 'true'

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

자세한 내용은 AWS Glue 작업에 대한 연속 로깅 활성화 단원을 참조하세요.

중요: 표준 필터 설정에서도 Spark 작업에 대한 애플리케이션 마스터 로그는 계속 /aws-glue/jobs/output/aws-glue/jobs/error log 그룹으로 푸시됩니다.

Spark 컨텍스트 메서드 setLogLevel을 사용하여 로깅 수준 설정

pyspark.context.SparkContextsetLogLevel 메서드를 사용하여 작업의 로깅 수준을 설정할 수 있습니다. 유효한 로깅 수준에는 모두, 디버그, 오류, 치명적, 정보, 꺼짐, 추적 및 경고가 포함됩니다. 자세한 내용은 setLogLevel에 대한 Spark 설명서를 참조하세요.

다음 코드를 사용하여 Spark 컨텍스트 메서드를 가져오고 작업에 대한 로깅 수준을 설정합니다.

from pyspark.context import SparkContext
sc = SparkContext()
sc.setLogLevel("new-log-level")

참고: new-log-level을 작업에 설정하려는 로깅 수준으로 교체해야 합니다.

자세한 내용은 로깅 구성에 대한 Spark 설명서를 참조하세요.

사용자 지정 log4j.properties 파일을 사용하여 로깅 수준 정의

Spark는 로깅에 log4j 구성을 사용합니다. log4j.properties 파일에 로깅 기본 설정을 포함하고, 파일을 Amazon Simple Storage Service(Amazon S3)에 업로드한 다음 AWS Glue 작업에서 해당 파일을 사용할 수 있습니다.

작업에서 Amazon S3 파일을 참조하려면 다음을 수행합니다.

  1. AWS Glue 콘솔을 엽니다.
  2. 탐색 창에서 작업을 선택합니다.
  3. 파일을 참조할 작업을 선택합니다.
  4. 작업을 선택한 다음 작업 편집을 선택합니다.
  5. 보안 구성, 스크립트 라이브러리 및 작업 파라미터(선택 사항) 섹션을 확장합니다.
  6. 참조된 파일 경로의 경우 lo4j.properties 파일을 저장한 전체 S3 경로를 붙여넣습니다.

자세한 내용은 자체 사용자 지정 스크립트 제공을 참조하세요.

샘플 log4j.properties 파일에 대해서는 Apache Spark의 GitHub 리포지토리에 있는 log4j.properties.template을 참조하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?