В spark у меня есть некоторый фиксированный порядок данных:
agg_id,agg_key,agg_val,req_num,clk_num
Когда я создаю похожую таблицу в Кассандре, порядок неключевых столбцов не сохраняется:
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
Myвопрос, как я могу установить имена столбцов здесь?Могу ли я добавить некоторые свойства в опцию Карта?или немного измените код, чтобы он работал правильно.Одно ограничение - без изменений самого DF (он может быть выведен на несколько источников)