pyspark rdd/dataframe 不会自动在 cassandra 中创建表

问题描述

在检查所有来源后发现 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 (将#修改为@)