簡體   English   中英

spark cassandra 連接器在回讀時丟失數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM