如何使用 R 在 cassandra 中创建键空间和 table?
How to create a keyspace and table in cassandra using R?
我目前正在研究 sparklyr,我正在尝试在 Cassandra 中创建一个新的密钥空间。有可能吗?如果是,怎么做?
我正在尝试以下表达式:
sql(sqlContext, "CREATE KEYSPACE key1 WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1 }")
但结果我得到了错误:
Error in invokeJava(isStatic = FALSE, objId$id, methodName, ...) :
java.lang.RuntimeException: [1.1] failure: ``with'' expected but identifier CREATE found
Spark SQL 中没有用于创建新 Cassandra 表或键空间的 SQL
命令。 Spark Sql 只能创建或销毁与已存在的 Cassandra 表相关的元数据。要创建新表,您需要使用 Scala/Java 中添加的自定义 DataFrame Api。
val renamed = df.withColumnRenamed("col1", "newcolumnname")
renamed.createCassandraTable(
"test",
"renamed",
partitionKeyColumns = Some(Seq("user")),
clusteringKeyColumns = Some(Seq("newcolumnname")))
这基本上意味着您必须从 R 中对 Java 进行某种跨语言调用。我不知道有什么简单的方法可以做到这一点,我建议只调用来自受支持语言的 Cassandra 驱动程序。例如,仅使用 Python 和 python 驱动程序。
我目前正在研究 sparklyr,我正在尝试在 Cassandra 中创建一个新的密钥空间。有可能吗?如果是,怎么做?
我正在尝试以下表达式:
sql(sqlContext, "CREATE KEYSPACE key1 WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1 }")
但结果我得到了错误:
Error in invokeJava(isStatic = FALSE, objId$id, methodName, ...) :
java.lang.RuntimeException: [1.1] failure: ``with'' expected but identifier CREATE found
Spark SQL 中没有用于创建新 Cassandra 表或键空间的 SQL
命令。 Spark Sql 只能创建或销毁与已存在的 Cassandra 表相关的元数据。要创建新表,您需要使用 Scala/Java 中添加的自定义 DataFrame Api。
val renamed = df.withColumnRenamed("col1", "newcolumnname")
renamed.createCassandraTable(
"test",
"renamed",
partitionKeyColumns = Some(Seq("user")),
clusteringKeyColumns = Some(Seq("newcolumnname")))
这基本上意味着您必须从 R 中对 Java 进行某种跨语言调用。我不知道有什么简单的方法可以做到这一点,我建议只调用来自受支持语言的 Cassandra 驱动程序。例如,仅使用 Python 和 python 驱动程序。