我使用的是Apache Spark 2.2.1和Cassandra 3.11,以及来自python/pyspark的Datastax spark-cassandra-connector。
我想从数据集结构中创建Cassandra Table。所以,我在Java中的DataSetFunction包中找到了一个函数createCassandraTable
,但我无法找到与pyspark包的对应关系。This在Java中是一个类似的问题。
我正在尝试这样的东西:
dataset.createCassandraTable('examples', 'table_example', partitionKeyColumns = ['id'])
字符串
但是createCassandraTable
不是dataset/datasrame的方法。
我知道我可以在spark中使用原始CQL创建表,但是我想动态地以编程方式这样做。虽然,这是一种替代方案,也许是spark和cassandra类型之间的Map。
有什么经验或新想法吗?Spark SQL替代方案?
4条答案
按热度按时间pdtvr36n1#
我也面临着同样的问题。
但是有一种方法我认为这是可能的。即使用一些驱动程序,比如cassandra-driver for python。
我们可以使用可用的方法从数据框中收集require列字段,并在运行时以图解方式创建表。
之后,我们可以使用以下代码存储数据,
字符串
z9zf31ra2#
我知道这是一个老问题,但是对于那些(像我一样)正在寻找如何做到这一点的人来说,你应该知道现在有一种方法可以用python/pyspark的Datastax spark-cassandra-connector来做到这一点。
字符串
您可以在此处找到描述其操作方法的文档
yvfmudvl3#
DataFrame可以通过使用org.apache.spark.sql.cassandra源代码并指定 keyspace 和 table 的关键字参数以及保存模式(追加,覆盖,错误或忽略等)保存到现有的Cassandra表中。
示例将Cassandra表保存为Pyspark DataFrame
字符串
选项和参数与Scala Data Frames API相同。
您可以在link中找到更多详细信息。
霍普这个有用
khbbv19g4#
这个怎么样?我知道这和你要找的不一样,但可能会有帮助。
字符串
您甚至可以创建KEYSPACE,设置因子复制等..