Я пытаюсь выполнить CQL из pyspark. В настоящее время я могу читать и писать таблицы.
$ pyspark --packages anguenot/pyspark-cassandra:0.7.0 --conf spark.cassandra.connection.host=12.34.56.78
>>> sqlContext.read\
.format("org.apache.spark.sql.cassandra")\
.options(table="my_table", keyspace="my_keyspace")\
.load()
+-----+-----+--------+
|cCode|pCode| mDate|
+-----+-----+--------+
| 135| 379|20180428|
| 31| 898|20180429|
| 31| 245|20180430|
+-----+-----+--------+
Мне бы хотелось, чтобы из моего интерфейса pyspark можно было выполнить оператор create
, например:
CREATE TABLE IF NOT EXISTS keyspace_name.table_name
( column_definition, column_definition, ...)
WITH property AND property ...
Обычно, когда я выполняю SQL в Hive, мне просто необходимо использовать sqlContext.sql()
, но в этом случае мне нужно каким-то образом добавить эту информацию format("org.apache.spark.sql.cassandra")
где-нибудь, и я просто не знаю, где ее разместить.