IBM Cloud Docs
Spark 로그 레벨 정보 구성

Spark 로그 레벨 정보 구성

IBM Analytics Engine Spark 애플리케이션이 생성하는 로그를 사용하여 실행되는 애플리케이션을 검토하고 존재하는 문제를 식별하십시오. 사용 가능한 표준 로깅 레벨은 ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL및 OFF입니다. 기본적으로 Analytics Engine Spark 애플리케이션은 Spark 드라이버의 경우 WARN 로그 레벨에서 로깅하고 Spark 실행기의 경우 OFF에서 로깅합니다. 관련되고 더 적은 상세 메시지를 표시하도록 로깅 레벨을 구성할 수 있습니다.

IBM Analytics Engine 로깅 구성은 Spark 프레임워크의 로그 레벨 정보를 구성합니다. Spark 애플리케이션에서 'logger.info()', 'logger.warn()', 'print ()' 또는 'show ()' 와 같은 명령을 사용하여 사용자 코드가 작성한 로그에는 영향을 주지 않습니다.

옵션 구성

Spark 애플리케이션 로그 레벨을 설정하려면 다음 IBM Analytics Engine 로그를 구성하십시오.

  • Spark 드라이버 로그 ( ae.spark.driver.log.level 사용)
  • Spark 실행 프로그램 로그 ( ae.spark.executor.log.level 사용)

IBM Analytics Engine 인스턴스를 프로비저닝하거나 Spark 애플리케이션을 제출할 때 Spark 구성 섹션에서 옵션을 지정하십시오. 다음 표준 로그 레벨 값을 지정할 수 있습니다.

  • 모두
  • TRACE
  • 디버그
  • 정보
  • 경고
  • 오류
  • FATAL
  • 꺼짐

드라이버 로그 레벨의 기본값은 WARN 이고 실행 프로그램 로그 레벨은 OFF 입니다.

다음 두 가지 방법으로 구성을 적용할 수 있습니다.

  • 인스턴스 레벨 구성
  • 애플리케이션 레벨 구성

인스턴스 레벨에서 Spark 로그 레벨 정보 구성

IBM Analytics Engine 인스턴스를 프로비저닝할 때 default_config 속성 아래에 로그 레벨 구성을 지정하십시오. 자세한 정보는 기본 Spark 구성 을 참조하십시오.

예:


    "default_config": {
        "ae.spark.driver.log.level": "WARN",
        "ae.spark.executor.log.level": "ERROR"
    }

애플리케이션 레벨에서 Spark 로그 레벨 정보 구성

작업을 제출할 때 conf 아래의 페이로드에서 옵션을 지정하십시오. 자세한 정보는 Spark 애플리케이션 REST API 를 참조하십시오.

예:


{
     "conf": {
	"ae.spark.driver.log.level":"WARN",
	"ae.spark.executor.log.level":"WARN",
     }
}

샘플 유스 케이스

인스턴스 레벨에서 로그 레벨 Spark 구성 설정: 샘플 유스 케이스는 IBM Analytics Engine 인스턴스를 프로비저닝하고 인스턴스의 모든 애플리케이션이 ERROR에서 로그하도록 로그 레벨을 구성하는 시나리오를 고려합니다.

  1. 다음 구성을 기본 Spark 구성으로 설정하십시오.

    • ae.spark.driver.log.level = 오류
    • ae.spark.executor.log.level = 오류

    기본 Spark 구성을 설정한 후 인스턴스에 제출되는 모든 애플리케이션의 로그 레벨은 ERROR 로 설정됩니다 (애플리케이션 페이로드가 제출 중에 Spark 구성을 지정하지 않는 경우).

작업 레벨에서 로그 레벨 Spark 구성 설정: 샘플 유스 케이스는 로그가 INFO 레벨에서 로그되도록 구성된 애플리케이션 및 로그 레벨이 있는 시나리오를 고려합니다. 페이로드에서 Spark 구성을 지정할 수 있습니다. 샘플 페이로드를 고려하십시오.

{
  "application_details": {
     "application": "cos://<application-bucket-name>.<cos-reference-name>/my_spark_application.py",
     "arguments": ["arg1", "arg2"],
     "conf": {
        "spark.hadoop.fs.cos.<cos-reference-name>.endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud",
        "spark.hadoop.fs.cos.<cos-reference-name>.access.key": "<access_key>",
        "spark.hadoop.fs.cos.<cos-reference-name>.secret.key": "<secret_key>",
        "spark.app.name": "MySparkApp",
     "ae.spark.driver.log.level":"INFO",
     "ae.spark.executor.log.level":"INFO",
     }
  }
}

샘플 유스 케이스 에서 Spark 애플리케이션은 인스턴스 레벨에서 설정된 로그 레벨 Spark 구성을 대체합니다. 즉, ERROR-INFO입니다.