首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并行化resultSet

并行化resultSet
EN

Stack Overflow用户
提问于 2015-02-17 01:54:38
回答 1查看 1.4K关注 0票数 1

我在cassandra中使用spark,并执行了以下脚本:

代码语言:javascript
复制
import com.datastax.spark.connector.cql.CassandraConnector

val cc = CassandraConnector(sc.getConf)
val select = s"SELECT channel, ctid, cvid , WRITETIME(source) FROM "+CASSANDRA_SCHEMA+"."+table+";"


val session = cc.openSession()
val results = session.execute(select)  

PS:由于WRITETIME(source),我不得不使用这个方法。但是RDD是一个resultSet,我想知道是否有可能将这个resultSet并行化以获得results

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2015-02-17 02:41:49

“‘results”是ResultSet的实例,不能在RDD中直接转换。首先,您需要通过请求all元素来物化整个集合:

代码语言:javascript
复制
val collection = results.all

这仍然没有帮助,因为结果是一个java.util.List,而我们需要一个Scala集合。一个简单的转换将会有所帮助:

代码语言:javascript
复制
val sCollection = collection.asScala

现在,只需使用sparkContext parallelize方法将其并行化即可:

代码语言:javascript
复制
val rdd = sc.parallelize(sCollection)

在那里,您可以对此集合的Row对象进行操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28547460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档