数据帧中的计数与从该数据帧创建的临时视图之间的差异

问题描述 投票:0回答:1

步骤1 我有一个从增量表创建的数据框。

Df= spark.read.format(delta).load(path)

步骤2 我正在从该数据帧创建一个临时视图

Df.createorreplacetempbiew(dfview)

现在,当我对此对象执行计数时,它显示不同的计数

Select count(*) from dfview---value1

%sql
Select count(*) from Df---value 2

任何人都可以帮助我为什么我的值 1 和值有差异

sql csv pyspark azure-databricks delta
1个回答
0
投票

如果您的 DataFrame (

Df
) 在执行
createOrReplaceTempView
步骤之前已缓存在内存中,则缓存版本可能不会反映对基础 Delta 表的任何更新或更改。

  • 在查询临时视图或 DataFrame 以获得新计数之前清除缓存::
spark.catalog.clearCache()

此外,请使用

count()
功能检查数据框中的行数。 Spark Count 是一个导致 DataFrame 中可用行数的操作。

 df.count()
© www.soinside.com 2019 - 2024. All rights reserved.