草庐IT

spark-submit

全部标签

scala - 捕获 Oozie 中 Spark 操作节点的控制台输出作为整个 Oozie 工作流的变量

有没有办法在Oozie中捕获spark作业的控制台输出?我想在spark作业之后的下一个操作节点中使用特定的打印值。我在想我可以使用${wf:actionData("action-id")["Variable"]}但是oozie似乎没有能力从sparkAction节点捕获输出,这与您可以使用echo"var=12345"的ShellAction不同。然后调用oozie中的wf:actionData以用作整个工作流中的Oozie变量。我想实现这一点,因为我想打印可能处理的记录数并将其存储为oozie变量,并将其用于工作流中的下一个操作节点,而无需执行任何需要您将该数据存储在外部的功能工作

hadoop - spark Yarn模式如何从spark-submit获取applicationId

当我使用带有masteryarn和部署模式集群的spark-submit提交spark作业时,它不会打印/返回任何applicationId,作业完成后我必须手动检查MapReducejobHistory或sparkHistoryServer以获取作业详细信息.我的集群被许多用户使用,需要花费大量时间才能在jobHistory/HistoryServer中发现我的工作。有没有办法配置spark-submit返回applicationId?注意:我发现了许多类似的问题,但他们的解决方案使用sparkcontext.applicationId在驱动程序代码中检索applicationId,

hadoop - 当查看在 yarn 上运行的已完成 spark 作业的日志时重定向到容器的日志服务器

我在yarn上运行spark。我的spark版本是2.1.1,hadoop版本是apachehadoop2.7.3。当spark作业以集群模式在yarn上运行时,我可以通过stdout/stderr链接查看Executor的日志,如http://hadoop-slave1:8042/node/containerlogs/container_1500432603585_0148_01_000001/hadoop/stderr?start=-4096但是当作业完成时,通过stdout/stderr链接查看Executor的日志将得到类似的错误页面Redirectingtologserver

hadoop - 如何为 Multi-Tenancy 配置 Hive Impala/Spark?

试图找出答案,但当我想到以下内容时找不到答案。它涵盖了Spark、Impala、MR、HiveMulti-Tenancy。Impala给出的场景。我觉得它也可以应用于Spark,因为Impala/Spark都是内存占用。场景1假设我们为MR、Hive和Impala创建一个具有Multi-Tenancy的10节点集群,其中40%的资源静态分配给Impala。为了运行Impala,我们创建了具有256GBRAM数据节点的集群。问题是对于这种配置,我们正在失去低成本低GB的优势,即32-40GBRAM和5-6个核心节点,这是MR/的主要卖点之一Hadoop可在处理100TB数据期间以极低的成

hadoop - Shuffle write 大和 spark task 变得超慢时的优化

有一个SparkSQL将连接4个大表(前3个表5000万,最后一个表2亿)并进行一些分组操作,消耗60天的数据。并且此SQL将需要2小时才能运行,在此期间,我检查到ShuffleWrite正在急剧增加,可能会超过200GB。相比之下,当我将消耗日期范围从60天减少到45天时,运行只需要6.3分钟。我查看了DAG图,对于45天的数据,它在最后一次sortMergeJoin之后输出了10亿条数据。谁能告诉我我可以从哪个方向优化这个场景?谢谢!附言可能的相关信息:Spark.version=2.1.0spark.executor.instances=20spark.executor.memo

hadoop - Spark 提交 :ERROR SparkContext: Error initializing SparkContext

我正在尝试在HadoopYARN客户端模式下运行我的spark作业,我正在使用以下命令$/usr/hdp/current/spark-client/bin/spark-submit--masteryarn-client--driver-memory1g--executor-memory1g--executor-cores1--filesparma1--jarsparam1param2--classcom.dc.analysis.jobs.AggregationJobsparkanalytics.jarparam1param2param3请在下面找到spark-default配置:Spa

hadoop - spark-shell --master yarn 卡住

我通过Homebrew安装了Hadoop和Spark$brewlist--versions|grepsparkapache-spark2.2.0$brewlist--versions|grephadoophadoop2.8.12.8.2hdfs我使用的是Hadoop2.8.2。我关注了thispost配置Hadoop。另外,关注thispost将spark.yarn.archive配置为:spark.yarn.archivehdfs://localhost:9000/user/panc25/spark-jars.zip以下是我在.bash_profile中的Hadoop/Spark相关

hadoop - 如何在 Spark2 中启用 spark.history.fs.cleaner?

我的Spark2和Spark配置都有spark.history.fs.cleaner.enabled=true。它适用于保持/spark-history/干净,但无法为/spark2-history做任何事情。关于为什么它不起作用的任何想法? 最佳答案 spark.history.fs.cleaner.enabledSpark属性控制定期清理磁盘上的事件日志的任务。在你的问题中它是spark.history.fs.cleaner=enabled所以我认为问题出在=字符上。另一个spark.history.fs.cleaner.int

hadoop - Spark saveAsTextFile 将空文件 - <directory>_$folder$ 写入 S3

rdd.saveAsTextFile("s3n://bucket-name/path)正在创建一个空文件,文件夹名称为-[folder-name]_$folder$似乎hadoop-awsjar(org.apache.hadoop的)使用这个空文件来模仿S3文件系统作为hadoop文件系统。但是,我的应用程序将数千个文件写入S3。当saveAsTextFile创建文件夹(从给定路径)以写入数据(从rdd)时,我的应用程序最终创建了数千个这样的空文件-[directory-name]_$folder$.有没有办法让rdd.saveAsTextFile不写这些空文件?

hadoop - 如何在 Spark 中使用 Kryo 注册 InternalRow

我想使用Kryo序列化运行Spark。因此我设置了spark.serializer=org.apache.spark.serializer.KryoSerializer和spark.kryo.registrationRequired=true然后当我运行我的代码时出现错误:Classisnotregistered:org.apache.spark.sql.catalyst.InternalRow[]根据thispost我用过sc.getConf.registerKryoClasses(Array(classOf[org.apache.spark.sql.catalyst.Interna