草庐IT

sparking

全部标签

java - Spark 平面 map 函数抛出 "OutOfMemory"

我在MapReduce中有以下实现并且工作正常,现在我试图通过使用FlatMapFunction将其移植到Spark,但是此函数抛出内存不足错误。映射减少:String[]hexList=input.toString().split(",");intnumHex=(int)Math.pow(9,lLevel_From_config-hLevel_From_config);for(Stringhex:hexList){for(inti=0;iSpark实现:@OverridepublicIterable>call(Tuple2tuple)throwsException{Stringkey

sql - 如何让 Spark 处理更大的数据集?

我有一个非常复杂的查询,需要使用一些“分组依据”表达式来连接9个或更多表。这些表中的大多数具有几乎相同的行数。这些表还有一些列可以用作对表进行分区的“键”。之前app运行正常,但是现在数据集是之前的3~4倍数据。我的测试表明,如果每个表的行数少于4,000,000,应用程序仍然可以很好地运行。但是,如果计数超过此值,应用程序将写入数百TB的混洗,应用程序将停止(无论我如何调整内存、分区、执行程序等)。实际数据大概只有几十个G。我认为,如果分区工作正常,Spark不应该进行如此多的洗牌,而应该在每个节点上进行连接。令人费解的是,为什么Spark没有那么“聪明”地这样做。我可以将数据集(使

hadoop - 如何使用 Spark Streaming 确保事件的有序处理?

我有一个用例,我想处理大量事件。这些事件中包含多个属性。但是,我想确保对于给定的属性(键),在给定时间运行的spark执行不超过1个,因为如果对同一个键并行运行两个执行,最终结果将由竞争条件决定.我的模型是这样的:从某个系统接收更改事件。使用本地数据库中的属性丰富事件。使用Kinesis将enrich事件发送到sparkstreaming。使用输出更新本地数据库。apace-storm是否是此类系统的更好竞争者? 最佳答案 AmazonKinesis使用流中的分片作为数据容器。在分片内,可以保证按顺序处理这些值。您可以针对您的用例利

hadoop - yarn Spark 作业调度较慢

我有两个具有以下配置的mapr集群,cluster1:hostedonaws,3nodeswith32gofmemory/32coreseachcluster2:hostedonbare-metalservers,8nodeswith128gofmemory/32coreseach我在两个集群上通过yarn运行一段pyspark代码df=hc.sql("select*fromhive_table")df.registerTempTable("df")df.cache().count()for:100timesresult=hc.sql('selectxxxxfromdf')result

hadoop - Spark 应用程序继续运行并且似乎挂起 - org.apache.spark.sql.hive.thriftserver.HiveThriftServer2

我在Hadoop集群中使用HDFS2.7.3和Spark22.0.0。当我启动Spark2ThriftServer时,它成功启动,但自动从Hive用户那里开始运行,它似乎永远挂起。如果我手动终止作业,它会再次使用新的applicationId启动新作业。但如果我停止Spark2Thrift服务器,它就会终止工作。你能帮我理解这个问题吗?提前致谢。 最佳答案 我也遇到过和你一样的问题,spark2.0的thriftserver模块不稳定,最好升级到spark2.1 关于hadoop-Spa

hadoop - Hivecontext.sql 返回空结果 spark

我正在创建配置单元上下文并查询配置单元表,如下所示,spark上下文是使用yarn-cluster创建的HiveContexthv=newHiveContext(sc)hv.sql("useschema")valdf=hv.sql(query)但是它返回一个空数据框。但是,如果我直接在配置单元环境中运行查询,它会返回有效值。可能是什么问题 最佳答案 一般来说,spark中的dataframe可以看作是一个map来检索/计算数据,直到需要数据时才会具体化。为了获取数据,您可以使用df.collect()

scala - 对于 ETL,ORC 性能真的比 Spark SQL 更好的 Tez 上的 Hive 吗?

我在Hive方面经验不多,目前正在使用Scala学习Spark。我很想知道Tez上的Hive是否真的比SparkSQL快。我搜索了很多有测试结果的论坛,但他们比较了旧版本的Spark,其中大部分是2015年编写的。下面总结了要点ORC将与Spark中的parquet做同样的事情Tez引擎将像Spark引擎一样提供更好的性能Hive中的连接比Spark更好/更快我觉得Hortonworks对Hive的支持比对Spark和Cloudera的支持更多,反之亦然。示例链接:link1link2link3最初我认为Spark会比任何东西都快,因为它们在内存中执行。在阅读了一些文章之后,我发现现有

hadoop - Spark 流式传输整个文本文件

我正在学习Sparkstreaming,我被困在一个可能很简单的问题上。我想从目录中提取整个文本文件。这里通常提到的方法是wholeTextFile,而不是按行分割文件的textFile。但是,据我所知,该方法在流上下文中不可用。如何简单实现类似的效果——流式获取(文件名,整个文件内容)?带有streamingcontext和sparksession的Scala示例会很棒。 最佳答案 好吧,自从2017年以来,OP可能不再有这个问题了,但我实际上看起来是这样的,当我找到解决方案时正准备放弃,Spark3将包含一种格式,可以是用来实现

hadoop - Elasticsearch-Hadoop如何在spark程序中进行批量搜索

我正在编写一个基本上是字符串RDD的spark程序。我需要做的基本上是为每个字符串创建一个查询,并根据Elasticsearch索引进行查询。所以本质上查询在字符串上会有所不同。我想使用elasticsearch-hadoop进行搜索,以便进行优化。RDD可能很大,我正在寻找任何可能的优化例如RDD是List[India,IBMCompany,Netflix,LebronJames]。我们将在所有这些术语上创建更多类似此搜索,并在索引维基百科上进行搜索并取回结果。例如,我们将为India、IBM、Netflix和LebronJames创建四个类似这样的查询,并为他们取回点击量我确实已经

hadoop - Spark-提交问题加载类

我使用的是HDP2.6。我下载了最新版本的Spark(2.2.1)并使用spark-submit我正在尝试运行我的jar(使用与程序集相同版本的Spark构建)。但是,我收到错误:Classorg.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvidernotfound我的$HADOOP_CONF_DIR是/etc/hadoop/conf这是链接到/usr/hdp/current/hadoop-client/conf我的yarn-site.xml在yarn.application.classpath包含条目:/usr