我想讀取來自cassandra keyspace和column_family的數據框。運行sparkR時,我正在調用相應的spark-cassandra-connector軟件包,並將conf設置爲我的本地spark cassandra主機。運行下面的代碼時不會出現任何錯誤。sparkR與Cassandra
$ ./bin/sparkR --packages com.datastax.spark:spark-cassandra-connector_2.10:1.5.0-M2 --conf spark.cassandra.connection.host=127.0.0.1
sc <- sparkR.init(master="local")
sqlContext <- sparkRSQL.init(sc)
people <-read.df(sqlContext,
source = "org.apache.spark.sql.cassandra",
keyspace = "keyspace_name", table = "table_name")
我碰到下面的錯誤,
Error in writeJobj(con, object) : invalid jobj 1
我必須的conf傳遞到sparkContext
分配(SC),並在sparkR怎麼樣?
下面是我的火花和卡桑德拉版本,
星火:1.5.1 卡桑德拉:2.1.6 卡桑德拉連接器更新爲使用1.5.0-M2每zero323建議
這裏是一個要點,以我的堆棧跟蹤。
https://gist.github.com/bhajer3/419561edcb0dc5db2f71
編輯:
我可以創建表格不包括任何卡桑德拉收集的數據類型的數據幀, 如地圖,集和列表。但是,我需要數據的許多模式都包含這些集合數據類型。
因此,當讀取來自Cassandra密鑰空間和column_family的數據幀時,sparkR不支持cassandra集合數據類型。看到我的詳細報告/測試程序。
https://gist.github.com/bhajer3/c3effa92de8e3cfc4fee
幾個注意事項:1)請不要發佈更新或其他問題作爲答案。2)如果您解決了問題並遇到另一個問題,請不要編輯問題以更改範圍,而是解決現有問題並請求新問題。否則,您將使現有答案無效並減少其他用戶問題的價值。 3)如果你有一個可以用來重現問題的代碼,請把它作爲問題本身的一部分。只有當它是一個活生生的例子時,外部源纔有意義(sqlfiddle,jsbin) – zero323
對於@ zero323將會這樣做,感謝您的幫助。 –
當然,我已經提供了一個解釋,爲什麼收集複雜類型不適用於1.5。它根本不被支持。 – zero323