Configurando informações de nível de log do Spark

Revise os aplicativos que são executados e identifique os problemas que estão presentes usando os logs que o aplicativo Spark do IBM Analytics Engine gera. Os níveis de registro padrão disponíveis são ALL, TRACE, DEBUG, INFO, WARN E ERROR, FATAL e OFF. Por padrão, os logs do aplicativo Spark do Analytics Engine no nível de log WARN para drivers do Spark e OFF para executores do Spark. É possível configurar o nível de criação de log para exibir mensagens relevantes e menos detalhadas.

A configuração de criação de log do IBM Analytics Engine configura as informações de nível de log da estrutura do Spark. Ela não afeta os logs gravados pelo código do usuário usando comandos como 'logger.info()', 'logger.warn()', 'print () 'ou' show () ' no aplicativo Spark.

Configurando opções

Configure os logs do IBM Analytics Engine a seguir para configurar o nível de log do aplicativo Spark:

  • Logs do driver Spark (usando ae.spark.driver.log.level)
  • Logs do executor do Spark (usando ae.spark.executor.log.level)

Especifique a opção na seção Configurações do Spark no momento do fornecimento de uma instância do IBM Analytics Engine ou do envio de um aplicativo Spark. É possível especificar os seguintes valores de nível de log padrão:

  • TODOS
  • RASTREAMENTO
  • DEBUG
  • INFO
  • AVISAR
  • ERRO
  • FATAL
  • DESLIGADO

O valor padrão para o nível de log do driver é WARN e o nível de log do executor é OFF.

É possível aplicar a configuração das duas maneiras a seguir:

  • Configuração de nível de instância
  • Configuração de nível do aplicativo

Configurando informações de nível de log do Spark no nível de instância

No momento do fornecimento de uma instância do IBM Analytics Engine, especifique as configurações de nível de log sob o atributo default_config. Para obter mais informações, consulte Configuração padrão do Spark.

Exemplo:


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

Configurando informações de nível de log do Spark no nível do aplicativo

No momento do envio de uma tarefa, especifique as opções na carga útil em conf Para obter mais informações, consulte API REST do aplicativo Spark.

Exemplo:


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

Caso de uso de amostra

Definindo a configuração do Spark no nível de log em um nível de instância: o caso de uso de amostra considera o cenário no qual você provisiona uma instância do IBM Analytics Engine e configura o nível de log de forma que todos os aplicativos no log da instância no ERROR..

  1. Defina as configurações a seguir como configurações padrão do Spark:

    • ae.spark.driver.log.level = ERRO
    • ae.spark.executor.log.level = ERRO

    Depois de definir a configuração padrão do Spark, o nível de log para todos os aplicativos que são enviados para a instância é configurado como ERROR (desde que a carga útil do aplicativo não especifique a configuração do Spark durante o envio.

Definindo a configuração do Spark no nível de log no nível de tarefa: o caso de uso de amostra considera um cenário em que você tem um aplicativo e o nível de log configurado de forma que os logs sejam registrados no nível INFO. É possível especificar a configuração do spark na carga útil Considere a carga útil de amostra:.

{
  "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",
     }
  }
}

No caso de uso de amostra, o aplicativo Spark substitui a configuração do Spark de nível de log definida no nível da instância, ou seja, ERROR para INFO