【发布时间】:2021-05-01 02:58:45
【问题描述】:
我有在 HDFS 上以 Delta 形式写入的数据。据我了解,Delta 将数据存储为镶木地板,只是在其上添加了一个具有高级功能的附加层。
但是当使用 Pyspark 读取数据时,如果使用 spark.read.parquet() 或 spark.read.format('delta').load() 读取数据帧,我会得到不同的结果
df = spark.read.format('delta').load("my_data")
df.count()
> 184511389
df = spark.read.parquet("my_data")
df.count()
> 369022778
如你所见,差别很大。
我对 delta vs parquet 有什么误解吗?
Pyspark 版本是2.4。
【问题讨论】:
-
不确定您将数据写入增量表的内容和方式,但您可能会看到由于旧版本数据导致的纯计数差异。我想你应该用
format("delta")而不是parquet来阅读delta表是有原因的,否则使用delta表根本没有意义?
标签: apache-spark pyspark parquet delta-lake