【发布时间】:2021-08-01 02:06:28
【问题描述】:
Hive 2.3.6-mapr
Spark v2.3.1
我正在运行相同的查询:
select count(*)
from TABLE_A a
left join TABLE_B b
on a.key = c.key
and b.date > '2021-01-01'
and date_add(last_day(add_months(a.create_date, -1)),1) < '2021-03-01'
where cast(a.TIMESTAMP as date) >= '2021-01-20'
and cast(a.TIMESTAMP as date) < '2021-03-01'
但是在 hive 中获得 1B 行作为输出,而在 spark-sql 中获得 1.01B。
通过一些初步分析,spark 中所有额外的行似乎都将timestamp 列为 2021-02-28 00:00:00.000000。
TIMESTAMP 和 create_date 列都有数据类型 string。 这可能是什么原因?
【问题讨论】:
标签: apache-spark hive apache-spark-sql hiveql