- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于从 Cassandra 查询数据有限制,我尝试使用 Spark 批量读取数据并将其存储在 RDD 中。
然后我使用 union 函数添加所有 RDD 。
这是我的代码。
private void getDataFromCassandra(JavaSparkContext sc) {
CassandraJavaRDD<CassandraRow> cassandraRDD = null ;
CassandraJavaRDD<CassandraRow> cassandraRDD2 = null;
While(Some Condition)
cassandraRDD = CassandraJavaUtil
.javaFunctions(sc).cassandraTable("dmp", "table").select("abc", "xyz")
.where("pid IN ('" + sb + "')");
if(cassandraRDD2==null){
cassandraRDD2=cassandraRDD;
}
else{
cassandraRDD2 = cassandraRDD2.union(cassandraRDD);
}
}
}
但是在联合中我收到以下错误。
类型不匹配:无法从 JavaRDD 转换为 CassandraJavaRDD
尽管这两个 RDD 的类型相似。
所以 1) 我应该将 Cast 应用为
cassandraRDD2 = (CassandraJavaRDD<CassandraRow>) cassandraRDD2.union(cassandraRDD);
2) 或者将其中一个 RDD 的类型更改为 JavaRDD
最佳答案
出现此问题的原因是根据 docs :
Method: union(JavaRDD other) Return the union of this RDD and another one.
Return Value: JavaRDD
因此不匹配。
因为根据this :
public class CassandraJavaRDD<R> extends JavaRDD<R> {
...
}
CassandraJavaRDD
类扩展了 JavaRDD
,因此您可以使用:
JavaRDD<CassandraRow> cassandraRDD = null;
JavaRDD<CassandraRow> cassandraRDD2 = null;
因此 union()
方法的返回值将与其类型匹配。
关于java - 无法在 Spark 中联合两个 CassandraJavaRDD<CassandraRow>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35844700/
我以前使用过像 Netbeans 和 eclipse 这样的 IDE。 我在 friend 的电脑上下载了“Visual Studio Express 2013 for windows desktop
我正在尝试弄清楚如何在 GBA 大小的 EZ Flash 3 合 1 卡中对 PSRAM 进行编程。基本上重复 GBA Exploader 和其他程序所做的事情。 如果我选择一个 block 并对其进
Filter1=re.findall(r'',PageSource) Filter2=re.findall(r'',PageSource) Filter3=re.findall(r'(.*?).*?'
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我是一名优秀的程序员,十分优秀!