问题标签 [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 投票
2 回答
776 浏览

scala - 如何使用 scala 从文件中读取输入并将文件的数据行转换为 List[Map[Int,String]]?

我的查询是,从文件中读取输入并使用 scala 将文件的数据行转换为 List[Map[Int,String]]。这里我给出一个数据集作为输入。我的代码是,

但是我如何将此代码更改为 - 接受来自.csv文件的输入?

0 投票
10 回答
105155 浏览

python - 使用 Apache Spark 将键值对缩减为键列表对

我正在编写一个 Spark 应用程序,并希望将一组键值对组合(K, V1), (K, V2), ..., (K, Vn)成一个键多值对(K, [V1, V2, ..., Vn])。我觉得我应该能够使用reduceByKey具有某种风味的功能来做到这一点:

发生这种情况时我得到的错误是:

“NoneType”对象没有“附加”属性。

我的键是整数,值 V1,...,Vn 是元组。我的目标是使用键和值列表(元组)创建一对。

0 投票
2 回答
2753 浏览

java - Spark 应用程序上的 NoSuchMethodError

我运行了一个应用程序,Spark cluster但它给了我error这样的结果:

有人可以告诉我如何解决吗?

0 投票
4 回答
47396 浏览

sql - 如何获得 Spark RDD 的 SQL row_number 等效项?

我需要为包含许多列的数据表生成完整的 row_numbers 列表。

在 SQL 中,这看起来像这样:

现在,假设在 Spark 中我有一个 (K, V) 形式的 RDD,其中 V=(col1, col2, col3),所以我的条目就像

我想使用 sortBy()、sortWith()、sortByKey()、zipWithIndex 等命令来订购这些,并拥有一个具有正确 row_number 的新 RDD

(我不关心括号,所以形式也可以是 (K, (col1,col2,col3,rownum)) 代替)

我该怎么做呢?

这是我的第一次尝试:

另请注意,函数 sortBy 不能直接应用于 RDD,但必须先运行 collect(),然后输出也不是 RDD,而是数组

这里有一点进步,但仍然没有分区:

0 投票
1 回答
15822 浏览

scala - Spark 错误:没有足够的空间在内存中缓存分区 rdd_8_2!可用内存为 58905314 字节

当我使用示例代码 BinaryClassification.scala 和我自己的数据运行 Spark 作业时,它总是显示错误,例如“没有足够的空间在内存中缓存分区 rdd_8_2!可用内存为 58905314 字节。”。

我通过 conf = new SparkConf().setAppName(s"BinaryClassification with $params").set("spark.executor.memory", "4g") 将内存设置为 4G,但它不起作用。有没有人有任何想法?谢谢:)

我在具有 16GB 内存的 Macbook Pro 上本地运行它。

0 投票
1 回答
583 浏览

scala - 在每个分区内具有共享指针的 Spark RDD(以及幻数 200??)

我正在尝试保留一个 spark RDD,其中每个分区的元素都共享对单个大对象的访问。但是,该对象似乎多次存储在内存中。将我的问题减少到只有一个只有 200 个元素的单个分区的玩具箱:

这会消耗预期的内存量,如日志中所示:

storage.MemoryStore:块 rdd_1_0 作为值存储在内存中(估计大小 38.2 MB,空闲 5.7 GB)

但是,200 是最大元素数。设置nElements=201产量:

storage.MemoryStore:块 rdd_1_0 作为值存储在内存中(估计大小 76.7 MB,空闲 5.7 GB)

这是什么原因造成的?这个神奇的数字 200 是从哪里来的,我该如何增加呢?


编辑澄清

向函数添加 println 表明它确实只被调用了一次。此外,运行:

..揭示了所有 10000000 个元素确实指向同一个对象,因此数据结构基本上表现正确。当 nExamples 大得多(例如 20000)时,问题就出现了,因此它不能持续存在。

storage.MemoryStore:没有足够的空间在内存中缓存 rdd_1_0!(目前计算为 6.1 GB)

当我nExamples=500成功设置它时,rdd 在内存中说估计大小 1907.4 MB,但我可以看到我的内存使用量的实际增加远小于这个。

0 投票
2 回答
723 浏览

scala - 将列从 schemaRDD 转换为字符串数组


我正在尝试通过连接它的值将作为字符串数组的列转换为字符串,但有些我无法将该特定列作为字符串数组关联:

我最终得到:

23 年 4 月 11 日 10:40:16 错误 executor.Executor: 阶段 2.0 (TID 5) 中的任务 1.0 中的异常 java.lang.ClassCastException: scala.collection.mutable.ArrayBuffer 无法转换为 [Ljava.lang.String;

我究竟做错了什么 ?

谢谢,
丹尼尔

0 投票
1 回答
617 浏览

scala - 火花测试例外

我在我的 Scala Spark 应用程序上构建测试,但在运行测试时我在 Intellij 上得到以下异常。其他没有 SparkContext 的测试运行良好。如果我使用“sbt test-only”在终端上运行测试,那么使用 sparkcontext 的测试是否有效?需要我为带有 sparkcontext 的测试专门配置 intellij 吗?

异常或错误导致运行中止:org.apache.spark.rdd.ShuffledRDD.(Lorg/apache/spark/rdd/RDD;Lorg/apache/spark/Partitioner;)V java.lang.NoSuchMethodError: org.apache .spark.rdd.ShuffledRDD.(Lorg/apache/spark/rdd/RDD;Lorg/apache/spark/Partitioner;)V 在 org.apache.spark.graphx.impl.RoutingTableMessageRDDFunctions.copartitionWithVertices(RoutingTablePartition.scala:36) 在org.apache.spark.graphx.VertexRDD$.org$apache$spark$graphx$VertexRDD$$createRoutingTables(VertexRDD.scala:457) 在 org.apache.spark.graphx.VertexRDD$.fromEdges(VertexRDD.scala:440)在 org.apache.spark.graphx.impl.GraphImpl$.fromEdgeRDD(GraphImpl.scala:336) 在 org.apache.spark.graphx.impl.GraphImpl$.fromEdgePartitions(GraphImpl.scala:282) 在 org.apache.spark .graphx.GraphLoader$.edgeListFile(GraphLoader.scala:91)

0 投票
1 回答
2270 浏览

scala - 从 RDD 中删除常量列并计算协方差矩阵

我的 RDD 可能有具有恒定值的列。换言之,某些列的方差可能为零。我的目标是从 RDD 中删除所有这些列(并最终计算剩余列的协方差矩阵)。我怎样才能做到这一点?

谢谢并恭祝安康,

0 投票
3 回答
2804 浏览

cassandra - Spark:如何按时间范围加入 RDD

我有一个微妙的 Spark 问题,我无法解决问题。

我们有两个 RDD(来自 Cassandra)。RDD1 包含Actions,RDD2 包含Historic数据。两者都有一个可以匹配/加入的 id。但问题是这两个表有一个 N:N 关系。Actions包含具有相同 id 的多行,Historic. 以下是两个表中的一些示例日期。

Actions 时间实际上是一个时间戳

Historic set_at 实际上是一个时间戳

我们如何才能以某种方式连接这两个表,得到这样的结果

如果不对庞大的数据集进行大量迭代,我就无法提出一个感觉正确的好解决方案。我总是要考虑从Historic集合中创建一个范围,然后以某种方式检查是否Actions适合该范围,例如(11:00 - 12:15)来进行计算。但这对我来说似乎很慢。有没有更有效的方法来做到这一点?在我看来,这种问题可能很流行,但我还没有找到任何提示。你将如何在 spark 中解决这个问题?

到目前为止我目前的尝试(一半完成的代码)