问题描述
在检查所有来源后发现 datastax-spark-cassandra 连接器支持在 cassandra 中使用 rdd 在 Scala 和 java 中自动创建表。对于 pyspark,特别是另一个包可用于完成这项工作——https://github.com/anguenot/pyspark-cassandra。但即使使用此包也无法自动创建表。使用数据框,我根本没有找到任何选项。我是 pyspark 和 cassandra 的新手,非常感谢任何帮助。也尝试仅使用 anguenot 包作为依赖项。 火花版本:2.4.7 Cassandra : 最新的 docker 镜像
Pyspark shell >> pyspark --packages anguenot/pyspark-cassandra:2.4.0,com.datastax.spark:spark-cassandra-connector_2.11:2.5.1
>>> spark = SparkSession.builder.master('local[*]').appName('cassandra').config("spark.cassandra.connection.host","ip").config("spark.cassandra.connection.port","port").config("spark.cassandra.auth.username","username").config("spark.cassandra.auth.password","password").getOrCreate()
>>> from datetime import datetime
>>> rdd = sc.parallelize([{
... "key": k,... "stamp": datetime.now(),... "tags": ["a","b","c"],... "options": {
... "foo": "bar",... "baz": "qux",... }
... } for k in ["x","y","z"]])
>>> rdd.saveToCassandra("test","testTable")
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
AttributeError: 'RDD' object has no attribute 'saveToCassandra'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)