首页 > 解决方案 > Spark 未提供 Hive 中可用的更新结果

问题描述

我正在使用 pyspark 代码来处理从 Hive View 获取的一些数据。我们目前使用的是 HDP 3.1 版本。问题是我可以看到 Hive View 包含数据,例如:日期为 2019 年 6 月 5 日的数据,当我尝试从 Spark SQL 获取数据时,我得到的数据最新日期为 2019 年 6 月 4 日。

我尝试在 spark 中选择完整的数据,然后按 Date DESC 对其进行排序,以确定问题所在。我还检查了 Hive 中是否提供了 6 月 5 日的数据。

我开始知道 spark 和 Hive 在 HDP 3+ 中管理不同的目录。但据我所知,管理员已经负责将 Spark 指向 Hive 目录。是目录问题,我需要再次检查吗?

更新: 在评论中询问,这是我在 Hive 中运行的示例代码,并带有我得到的示例结果 -

蜂巢查询

select number,v_date, location, region  from View1 where Upper(category) ="I" and lower(region) ="cochin" and to_date(visit_date) between "2019-06-02" AND "2019-06-06"  order by  to_date(visit_date) desc limit 500;

样本结果:

在此处输入图像描述

如上所示,我在 Hive 中获得了 6 月 5 日的结果。现在,当我在PySpark 中执行相同的操作时:

data_for_region = sparkSession.sql('select number, v_date, location, region  from View1 where Upper(category) ="I" and lower(region) ="cochin" and date_format(visit_date,"yyyy-MM-dd") between "2019-06-02" AND "2019-06-06" order by visit_date desc limit 50')

样本结果

在此处输入图像描述

如您所见,它只是没有向我显示 6 月 5 日的结果,而是提供了 6 月 4 日的数据。我只是不知道如何解决这种差异。

标签: apache-sparkhivepysparkhdp

解决方案


推荐阅读