草庐IT

spark-submit

全部标签

hadoop - Spark Map Task 内存消耗巨大

我有很多包含大约60.000.000行的文件。我所有文件的格式都是{timestamp}#{producer}#{messageId}#{data_bytes}\n我一个一个地浏览我的文件,还想为每个输入文件构建一个输出文件。因为有些台词依赖于以前的台词,所以我将它们按制作人分组。每当一行依赖于一个或多个先前的行时,它们的生产者总是相同的。对所有行进行分组后,我将它们交给我的Java解析器。然后,解析器会将所有已解析的数据对象包含在内存中,然后将其输出为JSON。为了可视化我认为我的作业是如何处理的,我拼凑了以下“流程图”。请注意,我没有可视化groupByKey-Shuffeling

hadoop - Spark - 使用服务器端加密 (AES) 从 s3 读取

在java中创建RDD的一种方法是JavaRDDpeople=sc.textFile("s3://path");如果使用服务器端加密对s3中的数据进行加密会怎样。那么我们如何创建一个RDD? 最佳答案 如果您使用的是启用加密的EMR,那么它应该会在从S3在EMR中处理时自动解密。 关于hadoop-Spark-使用服务器端加密(AES)从s3读取,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

java - 使用 spark java 的 Hive 列级加密

我已经在javaspark和hive之间创建了连接,我的代码运行良好。我可以用我的代码进行crud操作。现在我需要在几个配置单元列上执行一些加密算法。我用谷歌搜索并发现AES算法适用于加密。但无法获得先进且高度安全的方式来加密配置单元列。我是大数据的新手。如果有人有好的文件,或者可以提出一些想法,那对我很有帮助。对于数据插入,我正在使用sql查询。所以我可以很容易地使用UDF。我的想法是:首先我将创建一个自定义算法用于加密并用于数据插入操作。请指导我。 最佳答案 根据我最初的搜寻,我可以看到来自Hive的几个补丁可用于使用标准加密类

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会比任何东西都快,因为它们在内存中执行。在阅读了一些文章之后,我发现现有