我的sparkDataframe具有以下架构:
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键空间中创建一个udt来满足c列的需要。这个新的udt将用于创建cassandra表来存储我的Dataframe。
但是,我的cql经常遇到语法错误。我的cql是:
"CREATE TYPE IF NOT EXISTS keyspace.my_udt(list<element frozen<c1 text, c2 double, c3 bigint>>);"
错误消息是:
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一点都不熟悉。有人能帮帮我吗?
2条答案
按热度按时间krugob8w1#
Cassandra的udt
dsekswqp2#
用户定义类型需要有以下定义(请参阅文档):
表格应该是: