Spark:记录计数不匹配

时间:2019-02-14 11:17:15

标签: apache-spark apache-spark-sql

我很困惑,因为我面临着一个奇怪的情况。 我的spark应用程序从Oracle数据库读取数据,并使用以下指令将其加载到数据帧中:

trace

然后,我将这个数据框中的记录数保存在变量中:

  private val df = spark.read.jdbc(
    url = [the jdbc url],
    table="(" + [the query] + ") qry",
    properties= [the oracle driver]
  )

我用数据框架构创建一个配置单元表([my table]),然后在其上转储数据框的内容:

val records = df.count()

好吧,这是我迷路的地方;当我对要加载数据帧的配置单元表执行df.write .mode(SaveMode.Append) .insertInto([my hive db].[my table]) 时,“有时”配置单元中的记录比select count(*)变量中要多。

您能考虑这种不匹配的根源吗?


*关于可能的重复,我的问题不同。我没有多次用不同的值对数据框进行计数。我只统计一次数据框上的记录。我将数据帧转储到配置单元中,然后对配置单元表中的记录进行计数,有时配置单元中的记录要多于计数。*


非常感谢您。

0 个答案:

没有答案