Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pyspark Cassandra-为类型为“的spark dataframe列创建正确的用户定义类型(UDT);结构";_Python_Apache Spark_Pyspark_Cassandra_Spark Cassandra Connector - Fatal编程技术网

Python Pyspark Cassandra-为类型为“的spark dataframe列创建正确的用户定义类型(UDT);结构";

Python Pyspark Cassandra-为类型为“的spark dataframe列创建正确的用户定义类型(UDT);结构";,python,apache-spark,pyspark,cassandra,spark-cassandra-connector,Python,Apache Spark,Pyspark,Cassandra,Spark Cassandra Connector,My spark dataframe具有以下架构: root |-- a: string (nullable = true) |-- b: long (nullable = true) |-- c: array (nullable = true) | |-- element: struct (containsNull = true) | | |-- c1: string (nullable = true) | | |-- c2: double (null

My spark dataframe具有以下架构:

root
 |-- a: string (nullable = true)
 |-- b: long (nullable = true)
 |-- c: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- c1: string (nullable = true)
 |    |    |-- c2: double (nullable = true)
 |    |    |-- c3: long (nullable = true)
我试图在Cassandra keyspace中创建一个UDT,以满足c列的需要。然后,这个新的UDT将用于创建Cassandra表来存储我的数据帧

然而,我的CQL一直遇到语法错误。我的CQL是:

"CREATE TYPE IF NOT EXISTS keyspace.my_udt(list<element frozen<c1 text, c2 double, c3 bigint>>);"
“如果不存在键空间,则创建类型。我的udt(列表);”
错误消息是:

SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 1:50 no viable alternative at input '<' (... NOT EXISTS keyspace .my_udt(list[<]...)">
语法异常:

我对CQL一点也不熟悉。有人能帮我吗

用户定义类型需要有以下定义(请参阅):

表格应为:

CREATE TABLE my_table(a text, b bigint, c frozen<list<my_udt>>, primary key(a));
CREATE TABLE my_TABLE(a text,b bigint,c冻结,主键(a));
如果不存在,则创建类型keyspace.my_udt(c1文本,c2双精度,c3双精度);
创建表示例(id uuid、元素列表、主键(id));

CREATE TABLE my_table(a text, b bigint, c frozen<list<my_udt>>, primary key(a));
CREATE TYPE IF NOT EXISTS keyspace.my_udt(c1 text, c2 double, c3 bigint);

CREATE TABLE example (id uuid,elements list<FROZEN <my_udt>>,primary key(id));