[英]spark cassandra connector missing data while reading back
我正在使用 spark cassandra 連接器(python)將 3000000 行和 8 列的數據寫入 cassandra,當我回讀時,我只得到 50000 行。 當我檢查 cqlsh 中的行數時,還有 50000 中的行數只有我的數據去哪里了 spark -cassandra 連接器有問題嗎?
這是我的火花配置
spark = SparkSession.builder.appName("das_archive").config(
"spark.driver.memory", "25g").config('spark.cassandra.connection.host',
'127.0.0.1').config(
'spark.jars.packages',
'datastax:spark-cassandra-connector:2.4.0-s_2.11')
寫
df.write.format("org.apache.spark.sql.cassandra").mode('append').options(
table='shape1', keyspace="shape_db1").save(
讀
load_options = {"table": "shape1", "keyspace": "shape_db1",
"spark.cassandra.input.split.size_in_mb": "1000",
'spark.cassandra.input.consistency.level': "ALL"}
data_frame = spark.read.format("org.apache.spark.sql.cassandra").options(
**load_options).load()
最可能的原因是您沒有正確的主鍵 - 結果,數據被覆蓋。 您需要確保輸入數據的每一行都由列集唯一標識。
PS 如果您只是編寫存儲在 CSV 之類的數據中的數據,您可以查看DSBulk 之類的工具,該工具針對從 Cassandra 加載/卸載數據進行了高度優化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.