蜂巢直线和火花负载计数与蜂巢表不匹配

Hive beeline and spark load count doesn't match for hive tables

我正在使用 spark 2.4.4 和 hive 2.3 ...

使用 spark,我正在使用 DF.insertInto(hiveTable)

将数据框加载为 Hive table

如果新 table 是在 运行 期间创建的(当然是在 insertInto 到 spark.sql 之前)或由 spark 2.4.4 创建的现有 tables - 一切正常.

问题是,如果我尝试加载一些现有的 tables(较旧的 tables 创建了 spark 2.2 或更早版本)- 面临 COUNT 条记录的问题。通过直线与火花 sql.

完成目标配置单元 table 计数时的差异计数

请协助。

hive-Metastore 和 spark-catalog 的 hive 表(使用 parquet 文件格式)的同步似乎有问题 o2.n spark 2(或之前 - 使用完整的 /nested数据 tydata 类型)并使用 spark v2.4.

加载

通常情况下,spark.catalog.refresh(<hive-table-name>) 会将统计数据从 hiveMetastore 刷新为 spark.catalog。

在这种情况下,需要执行显式 spark.catalog.resfreshByPath(<location-maprfs-path>) 以刷新 stats.pet*