我在对hdfs上的大约55个文件和总共1B条记录进行简单计数操作时遇到了很多麻烦。spark-shell和PySpark都因OOM错误而失败。我正在使用yarn、MapR、Spark1.3.1和hdfs2.4.1。(它在本地模式下也失败了。)我尝试遵循调整和配置建议,向执行程序投入越来越多的内存。我的配置是conf=(SparkConf().setMaster("yarn-client").setAppName("pyspark-testing").set("spark.executor.memory","6g").set("spark.driver.memory","6g").set
Oozie4.2.0版支持作为Spark作业运行的Spark操作,是否可以在操作之间共享RDD,例如我的一个操作将读取文件并执行一些转换并创建一个RDD,比如rdd1,然后将(Spark操作)保存到HDFS,现在另一个oozie操作可能会采用rdd1并执行一些转换和操作。以上可以通过单个Spark驱动程序类实现,但我正在研究oozie解决方案,因为Spark驱动程序类对于复杂的工作流来说会非常复杂。预先感谢您的回答。问候,古兰加巴萨克 最佳答案 一个解决方案可能是使用sparkjobserver在多个作业中使用相同的spark上下文
我是Hadoop的新手,我正在使用单节点集群(用于开发)从关系数据库中提取一些数据。具体来说,我正在使用JavaAPISpark(1.4.1版)来提取查询数据并写入Hive。我遇到了各种问题(并阅读了手册并尝试在线搜索)但我认为我可能误解了其中的一些基本部分,因为我遇到了问题。首先,我认为我能够将数据读入Spark,可选择运行一些Spark方法来操作数据,然后通过HiveContext对象将其写入Hive。但是,似乎没有任何方法可以直接从Spark写入Hive。是真的吗?所以我需要一个中间步骤。在写入Hive之前,我尝试了几种不同的存储数据的方法,并决定编写HDFS文本文件,因为它似乎
对于在YARN(yarn-client)上运行的Spark作业,是否可以使用位于HDFS中的jars指定类路径有点像MapReduce作业是可能的:DistributedCache.addFileToClassPath(Pathfile,Configurationconf,FileSystemfs) 最佳答案 来自SparkContext文档:defaddJar(path:String):UnitAddsaJARdependencyforalltaskstobeexecutedonthisSparkContextinthefutur
当我尝试从配置单元表中获取一些产品并在spark中处理/应用rools时,我遇到了问题。//functionwhichreturnproductsfromHivetabledefgetProductsList(hiveContext:org.apache.spark.sql.hive.HiveContext):scala.collection.mutable.MutableList[Product]={valproducts=scala.collection.mutable.MutableList[Product]()valresults=hiveContext.sql("select
使用配置有Yarn的Spark(在client模式下,虽然与问题关系不大),我发现我的一些Executors失败。Executor是一个Yarn-Container,它的日志文件位于:/var/log/hadoop-yarn/containers/containerID。容器生成的一些(关键)事件/日志渗透到驱动程序,但不是全部。据观察,当一个Executor失败时,它的logfile会在它死后立即被清除。有什么方法可以防止这些日志因调试目的而被删除吗? 最佳答案 既然,你的yarn上有Spark,我希望这有助于收集所有日志yarn
我们有一个运行Spark的小型集群,用于从面向公众的Web应用程序执行作业。此处使用Spark的目的是为Web应用程序提供高效的延迟,因此当提交作业时,它需要集群尽快做出响应。不管它有多少时间是空闲的。因此,在需要时,Spark需要快速,但在不需要时,我们希望以其他方式使用这些计算资源。例如,我们要运行一些模拟,使用OpenMP进行本地线程处理,使用OpenMPI在集群中分配处理。这些需要一些时间来运行,我们希望仅在Spark不需要时才使用集群。是否可以将Spark配置为具有非常高的优先级并淘汰或饿死其他程序?来自Spark的configuration我看到了几个关于限制内存和内核使用
我正在尝试在配置单元中运行查询:这是最简单的设置(我知道我可以做一个=但我使用的是自定义UDF,它不仅仅是一个相等比较)数据集a和b各有30,000行左右SELECT*FROMaINNERJOINbONCustom_UDF_Equals_Comparison(a.id,b.id)LIMIT5其中custom_UDF_Equals_Comparison只是在a.id=b.id之间进行相等性检查当我运行这个查询时,我可以在我的日志输出中看到很多m/r任务正在运行,假设它在两个数据集之间进行比较,直到比较所有可能的排列,并且远高于5的限制(我会预计只有少数m/r任务,因为我知道大部分数据可以
我构建了一个sparkStreaming应用程序来持续接收来自Kafka的消息,然后将它们写入表HBase。此应用在前25分钟内运行良好。当我在Kafka-console-producer中输入1;name1,2;name2这样的KV对时,它们可以保存在Hbase表中:ROWCOLUMN+CELL1column=cf1:column-Name,timestamp=1471905340560,value=name12column=cf1:column-Name,timestamp=1471905348165,value=name2但是大约25分钟后,我的应用停止并出现错误ERRORJob
我在启动具有主服务器和工作服务器的Spark集群时遇到一些问题。我在Ubuntu16.04LTS上下载并安装了Hadoop2.7.3和Spark2.0.0。我用我的奴隶的IP创建了一个conf/slaves文件,这是我的spark-env.sh#!/usr/bin/env#bashexportSPARK_DIST_CLASSPATH=$(hadoopclasspath)exportSPARK_WORKER_CORES=2exportSPARK_MASTER_IP=192.168.1.6exportSPARK_LOCAL_IP=192.168.1.6exportSPARK_YARN_US