Выходная проблема с Scala / Spark - PullRequest
0 голосов
/ 26 марта 2020

Я начал учить Scala и зажечь. Я новичок в этом стеке. Например, я sh создаю json приложение для чтения, которое выводит результат на консоль. Я использую SBT. Основной класс выглядит так:

    import java.lang.Math
    import org.apache.spark.sql.SparkSession
    import sext._

    object JsonReader extends App {
        val json_data : String ="/data/data.json"

        val spark = SparkSession
          .builder
          .appName("Spark Pi")
          .getOrCreate()
        import spark.implicits._

        val test = spark.read.json(json_data)

        case class JsonData(country:String,
                            id: BigInt, 
                            points: BigInt, 
                            price: Double, 
                            title: String, 
                            variety: String, 
                            winery: String)

       val df = test.as[JsonData]
       Console.printf(df)
       //Console.printf("check, check, 1,2,3, go")
}

Когда я запускаю приложение,

spark-submit --master local[*] --class com.example.JsonReader /home/app/target/scala-2.11/app-assembly-0.0.1.jar {/home/data/data.json}

Консоль показывает несколько предупреждающих сообщений перед остановкой приложения:

20/03/26 21:12:58 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
log4j:WARN No appenders could be found for logger (org.apache.spark.deploy.SparkSubmit$$anon$2).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Мой log4j. properties.template выглядит так:

# Set everything to be logged to the console
# log4j.rootCategory=INFO, console
log4j.rootLogger=DEBUG, DebugAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n


log4j.logger.org.apache.spark.repl.Main=WARN

# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark_project.jetty=WARN
log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR


log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR

Так, где я могу найти стандартный вывод? Как показать вывод моего основного класса после запуска приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...