在spark中,我有一个固定顺序的数据帧:
agg_id,agg_key,agg_val,req_num,clk_num
在cassandra中创建类似表时,非键列的顺序不会保留:
CREATE TABLE mytable (
agg_id int,
agg_key int,
agg_val text,
req_num bigint,
clk_num bigint,
PRIMARY KEY ((agg_id,agg_key), agg_val )
) WITH CLUSTERING ORDER BY (agg_val asc)
因此,当我运行desc mytable时,它会显示错误的顺序(首先是clk_num,然后是req_num)
ds.write
.format("org.apache.spark.sql.cassandra")
.options(Map(
"keyspace" -> "online_aggregation",
"table" -> cassOutTable) )
.mode(SaveMode.Append)
.save
我的问题是如何在这里设置列名称?
我可以向选项映射添加一些属性吗?或者稍微更改代码,使其正常工作。
一个限制-DF本身没有更改(可能输出到多个源)