这是我的Spark应用程序的相关部分,我在其中使用appName设置应用程序的名称。
import org.apache.spark.sql.SparkSession
object sample extends App {
val spark = SparkSession.
builder().
appName("Cortex-Batch"). // <-- application name
enableHiveSupport().
getOrCreate()我在运行应用程序下的Hadoop YARN集群中检查了Spark应用程序的名称,但没有看到我在代码中定义的名称。为什么?
我通过--properties-file在属性文件中使用spark-submit,如下所示:
/usr/hdp/current/spark2-client/bin/spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.jpmc.cortex.LoadCortexDataLake \
--verbose \
--properties-file /home/e707698/cortex-batch.properties \
--jars /usr/hdp/current/spark-client/lib/datanucleus-api-jdo-3.2.6.jar,/usr/hdp/current/spark-client/lib/datanucleus-core-3.2.10.jar,/usr/hdp/current/spark-client/lib/datanucleus-rdbms-3.2.9.jar \
/home/e707698/cortex-data-lake-batch.jar "/tmp/clickfiles1" "cortex_dev.xpo_click1"取而代之的是属性文件中给出的应用程序名称。我试图从属性文件中删除该属性,但名称是Spark应用程序的完整类名,即/com/jpmc/cortex/LoadCortexDataLake。
我能错过什么呢?
发布于 2017-05-23 03:36:20
--name起作用了。我现在可以在运行应用程序的Yarn中看到我输入的内容--name with spark-submit。
发布于 2019-07-30 17:54:46
当我们在集群模式下运行spark时,Yarn应用程序是在创建sparkcontext之前创建的,因此我们需要在SparkSubmit命令中将应用程序名指定为--name。在客户端模式下,我们可以在程序中设置应用程序名称,如spark.appname(“默认应用程序名称”)
https://stackoverflow.com/questions/44077386
复制相似问题