Apache spark Spark Left directjoin(开/关)会产生不同的结果

Apache spark Spark Left directjoin(开/关)会产生不同的结果,apache-spark,cassandra,spark-cassandra-connector,Apache Spark,Cassandra,Spark Cassandra Connector,根据spark cassandra群集上directJoin的使用情况,我们有不同的结果集大小: //newpos是从cassandra加载的数据帧 val with_direct_join = new_pos.join( right .directJoin(AlwaysOn) , Seq("a", "b", "c"), "left" println(“(直接连接):

根据spark cassandra群集上directJoin的使用情况,我们有不同的结果集大小:

//newpos是从cassandra加载的数据帧

val with_direct_join = new_pos.join(
    right
        .directJoin(AlwaysOn)
    ,
    Seq("a", "b", "c"),
    "left"
println(“(直接连接):%d”。格式(使用_Direct_Join.count))//12006行

与directJoin(AlwayOff)相同的数据帧和join的结果集为//14705行

你知道为什么会这样吗?Directjoin与left join的结合似乎在某种程度上限制了行

谢谢,
Flo

C*集群中有多少节点,您是否定期运行修复?谢谢,Alex,您很快:)3个节点实际上,修复-据我所知-处于默认设置,这意味着没有修复,对吗,今天需要问C*管理员,但这让我朝着一个我没有预料到的方向前进。过时的复制副本在directjoin情况下会有不同的行为吗?默认情况下不会进行修复。。。直接连接只执行对单个分区/主键的请求,也可能命中未修复的副本,并且由于默认情况下使用了本地连接,因此您可能会得到过时的数据。您可以尝试使用
--conf spark.cassandra.input.consistency.level=ALL
启动应用程序,然后重试-如果有任何不一致,将在读取过程中修复,尽管作业可能会因为修复数据的延迟而失败,我将与管理员和开发人员核实,让您知道C*集群中有多少节点,您是否定期运行修复?谢谢,Alex,您很快:)3个节点实际上,修复-据我所知-处于默认设置,这意味着没有修复,对吗,今天需要问C*管理员,但这让我朝着一个我没有预料到的方向前进。过时的复制副本在directjoin情况下会有不同的行为吗?默认情况下不会进行修复。。。直接连接只执行对单个分区/主键的请求,也可能命中未修复的副本,并且由于默认情况下使用了本地连接,因此您可能会得到过时的数据。您可以尝试使用
--conf spark.cassandra.input.consistency.level=ALL
启动您的应用程序,然后重试-如果您有任何不一致的地方,将在读取过程中修复,尽管由于修复数据的延迟,作业可能会失败谢谢Alex,我将与管理员和开发人员联系并让您知道