我正在使用 Scala 并嘗試將我的日歷資訊從 Spark 保存到 Cassandra。
我開始使用 Cassandra 創建相同的模式:
session.execute("CREATE TABLE calendar (DateNum int, Date text, YearMonthNum int, ..., PRIMARY KEY (datenum,date))")
然后將我的資料從 spark 匯入 Cassandra:
.write
.format("org.apache.spark.sql.cassandra")
.options(Map("table" -> "calendar", "keyspace" -> "ks"))
.mode(SaveMode.Append)
.save()
但是,一旦我嘗試讀取從 Cassandra 上的 Spark 檢索到的資料,這些行看起來就混在一起了,而我想保持日歷的相同順序。
我有一個行的例子:
20090111 | 2009 年 1 月 11 日 | 200901 |...
選擇/訂購似乎也不能解決問題。
uj5u.com熱心網友回復:
Cassandra 中的資料僅在 Cassandra 磁區內進行排序,但磁區本身不按值排序,而是按磁區鍵的哈希進行組織。所以當你讀取資料時,你可以讀取附近的 Cassandra 磁區,但它們可能屬于完全不同的日期。
因此,如果您在 Spark 中對資料進行了排序,則需要使用.orderBy
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/430851.html
