[英]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.