我正在使用 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 日的数据。我只是不知道如何解决这种差异。