首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sparkR与卡桑德拉

sparkR与卡桑德拉
EN

Stack Overflow用户
提问于 2015-10-17 22:57:39
回答 1查看 1.4K关注 0票数 1

我想读一个来自卡桑德拉密钥空间和column_family的数据文件。在运行sparkR时,我将调用相应的火花- cassandra连接器包,并将conf设置为本地sparkR主机。在运行下面的代码时,我不会收到任何错误。

代码语言:javascript
复制
$ ./bin/sparkR --packages com.datastax.spark:spark-cassandra-connector_2.10:1.5.0-M2 --conf spark.cassandra.connection.host=127.0.0.1
代码语言:javascript
复制
sc <- sparkR.init(master="local")
sqlContext <- sparkRSQL.init(sc)
people <-read.df(sqlContext,
    source = "org.apache.spark.sql.cassandra",
    keyspace = "keyspace_name", table = "table_name")

我得到以下错误,

代码语言:javascript
复制
Error in writeJobj(con, object) : invalid jobj 1

我是否必须将conf传递给sparkContext赋值(sc),以及如何在sparkR中传递?

下面是我的星火和卡桑德拉版本,

火花: 1.5.1卡桑德拉: 2.1.6卡桑德拉连接器更新后,每个zero323建议使用1.5.0-M2

这是我的堆栈追踪的要点。

https://gist.github.com/bhajer3/419561edcb0dc5db2f71

编辑

我能够从不包括任何Cassandra集合数据类型的表中创建数据帧,例如Map、Set和List。但是,我需要数据的许多模式确实包括这些收集数据类型。

因此,sparkR在读取来自cassandra和column_family的数据时不支持Cassandra收集数据类型。请参阅我的详细报告/测试程序。

https://gist.github.com/bhajer3/c3effa92de8e3cfc4fee

EN

回答 1

Stack Overflow用户

发布于 2015-10-18 20:16:55

初始问题

一般来说,你必须匹配火花,spark-cassandra-connector和卡桑德拉版本。连接器版本应该匹配主要的火花版本(连接器1.5用于火花1.5,连接器1.4用于火花1.4等等)。

与Cassandra版本的兼容性有点棘手,但您可以在连接器README.md中找到兼容版本的完整列表。

编辑

SparkR < 1.6不支持收集复杂的数据类型,包括数组或映射。它已经被火花-10049解决了。如果您构建星火表单母版,它将按预期工作。1.6中没有cassandra-connector,但1.5M2似乎运行得很好,至少在DataFrame API中是这样。

Note

它看起来像是连接器1.5-M2错误地将Date键报告为Timestamps,所以如果在数据库中使用这些键,请注意。

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

https://stackoverflow.com/questions/33192469

复制
相关文章

相似问题

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