簡體   English   中英

集群模式下spark-submit的log文件中不記錄print語句

[英]print statement is not recorded in log file in spark-submit in cluster mode

我有以下 pyspark 代碼名為 sample.py 並帶有打印語句

import sys
from pyspark.sql import SparkSession
from pyspark.sql.types import *
import pyspark.sql.functions as f
from datetime import datetime
from time import time

if __name__ == '__main__':
    spark = SparkSession.builder.appName("Test").enableHiveSupport().getOrCreate()
    print("Print statement-1")
    schema = StructType([
        StructField("author", StringType(), False),
        StructField("title", StringType(), False),
        StructField("pages", IntegerType(), False),
        StructField("email", StringType(), False)
    ])

    data = [
        ["author1", "title1", 1, "author1@gmail.com"],
        ["author2", "title2", 2, "author2@gmail.com"],
        ["author3", "title3", 3, "author3@gmail.com"],
        ["author4", "title4", 4, "author4@gmail.com"]
    ]

    df = spark.createDataFrame(data, schema)
    print("Number of records",df.count())
    sys.exit(0)

以下帶有 sample.log 的 spark-submit 未打印打印語句

spark-submit --master yarn --deploy-mode cluster sample.py > sample.log

場景是我們想在日志文件中打印一些信息,以便在 spark 作業完成后基於日志文件中的打印語句,我們將執行一些其他操作。

請幫助我

打印語句不會在 spark-submit 日志中找到,而是在 yarn 日志中。 當您執行 spark-submit 時,您將獲得一個類似於application_1234567890123_12345的應用程序 ID。

現在使用應用程序 ID 運行以下命令,以在 spark 作業完成后獲取聚合的紗線日志。

yarn logs -applicationId <applicationId>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM