问题标签 [java-pair-rdd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
695 浏览

apache-spark - JavaPairRDD - mapToPair() 抛出内存不足错误

我正在尝试迭代 JavaPairRDD 并对值应用一些转换(它是 Java 模型类,键是字符串)并返回与 JavaPairRDD 相同的键值对。

在抛出 outofMemoryError 之前它说Marking Stage 5 (saveAsTextFile at AppDaoImpl.java:219) as failed due to a fetch failure from Stage 1 (mapToPair at AppDataUtil.java:221)

有没有我们可以优化下面的代码,在我看来很简单的代码。但是当我处理大文件时,我正面临这个内存不足错误。

我也传递了以下参数。

示例代码是:

在调用之前saveAsTextFile(),我添加了三个使用union和调用此方法的 RDD。

我想将所有 rdd 写到同一个位置,所以我正在使用union 是否可以在同一个位置分别调用每个 rdd?

日志跟踪是:

0 投票
1 回答
6482 浏览

java - 如何将数据集转换为 JavaPairRDD?

有一些方法可以将 Dataset 转换为 JavaRDD 。

有没有其他方法可以将 Dataset 转换为javaPairRDD<Long, Vector>?

0 投票
2 回答
6507 浏览

java - 在 Spark Java API 中将 JavaPairRDD 转换为 Dataframe

我正在使用带有 Java 7 的 Spark 1.6

我有一对 RDD:

我想将其转换为DataFrame带有模式。

看来首先我必须将pairRDD转换为RowRDD。

那么如何从 PairRDD 创建 RowRdd 呢?

0 投票
0 回答
176 浏览

hadoop - 从 SequenceFile 读取时,Protocol Buffers 中的一个字段总是丢失

一些神秘的事情发生在我身上:

我想做的事:

神秘的部分是:我想要检索的一个字段始终为空。

Product_Perf是我想从 SequencFiles 中提取的始终缺失的字段。

这是我的协议缓冲区架构:

以下是我将协议缓冲区保存为 SequenceFile 的方法:

下面是我如何阅读 SequenceFile 的代码:

0 投票
1 回答
693 浏览

java - Spark 分组然后排序(Java 代码)

我有一个 JavaPairRDD,需要按键分组,然后使用对象 MyObject 中的值对其进行排序。

假设 MyObject 是:

样本数据:

预期结果:

分区 1:

分区 2

分区 3:

我使用密钥对 RDD 进行分区,然后使用 MyObject.order 对分区内的数据进行排序。

我的目标是只获取每个排序分区中的 k-first 元素,然后将它们减少到由其他 MyObject 属性计算的值(也称为“组中的前 N ​​个最佳值”)。

我怎样才能做到这一点?

0 投票
1 回答
1135 浏览

apache-spark - Spark 将 PairRDD 转换为 RDD

将 PairRDD 转换为同时合并 K 和 V 的 RDD 的最佳方法是什么(在 java 中)?

例如,PairRDD 包含 K 作为一些字符串和 V 作为 JSON。我想将此 K 添加到值 JSON 并生成一个 RDD。

输入对RDD

输出应该和RDD如下

0 投票
1 回答
116 浏览

java - 在 Java 的 Apache Spark 中使用 Tuple3 时,combineByKey 的替代方法是什么?

我刚开始使用 Java 中的 Apache Spark。我目前正在做一个带有一些书籍数据的迷你项目。我必须找到每个国家最受欢迎的作家。

我有一个pairRDD,其中键是国家,值是作者,就像这样

我是否必须使用 Tuple3 再添加一个字段并计算每个值出现的次数?如果是这样,我如何将 combineByKey 用于 Tuple3?

我有另一个想法,我可以从 pairRDD 中获取所有密钥,并基于此,我可以过滤以使用另一个 pairRDD,其中author_names每个密钥被提及的次数和次数,我可以找到最受欢迎的作者。但这感觉不是一个优雅的解决方案,因为我必须遍历键数组。帮助。

0 投票
0 回答
1263 浏览

apache-spark - 如何将 Spark JavaPairRDD 数据收集为列表

我正在使用 java 中的 Apache Spark 2.2.0 任务,我目前mapToPair()对我执行一个函数JavaRDD<String>,我得到了JavaPairRDD<Integer, Table>. 考虑Table为任何对象类型。

我现在要做的是将所有数据收集到最终列表中,该列表将返回给驱动程序。我不想对数据执行任何转换、聚合或计算,这就是我想到使用该collect()函数的原因。

到目前为止,我有以下内容:

但由于某种我无法理解的原因,它会产生以下错误......

我可能完全走错了方向,但你能建议一种收集这些 Tuple2 数据并可能迭代它们的方法吗?

谢谢你。


更新无论我的代码做什么,即使我尝试运行简单的字数统计示例,Format.getSplits(FileInputFormat.java:312)仍然会出现错误!有什么帮助吗?

0 投票
1 回答
645 浏览

java - 如何从 JavaStreamingContext 生成 JavaPairInputDStream?

我正在学习 Apache Spark 流式传输并尝试JavaPairInputDStreamJavaStreamingContext. 下面是我的代码:

但是我的应用程序的最后一行抛出了这个异常:

queueStream(Queue<JavaRDD<T>>, boolean)类型中的方法JavaStreamingContext不适用于参数 ( Queue<JavaPairRDD<String,String>>, boolean)

我不知道如何使用 JavaStreamingContext 生成 JavaPairInputDStream。

0 投票
1 回答
1166 浏览

java - 转换 JavaPairRDD到 JavaRDD

我正在尝试使用 Apache Spark 从 HBase 读取数据。我只想扫描一个特定的列。我正在创建我的 HBase 数据的 RDD,如下所示

这是我想将字符串转换JavaPairRDD为的地方。JavaRDD

我怎样才能做到这一点?