Apache spark WHERE子句不起作用

时间:2017-07-13 15:52:06

标签: apache-spark pyspark apache-spark-sql pyspark-sql apache-spark-1.6

我在较小的纱线集群上运行Apache Spark 1.6.1。我尝试使用类似的查询从hive表中提取数据:

df = hiveCtx.sql("""
SELECT *
  FROM hive_database.gigantic_table
 WHERE loaddate = '20170502'
""")

但是,无论我为loaddate提供什么值,结果数据帧都是整个表。我能想到的唯一奇怪的事情是,hive表是由该loaddate列分区的。

单独的Hive似乎正确运行此查询。我已尝试使用.filter()和各种级别的引号进行整合,但在Spark上没有运气。

1 个答案:

答案 0 :(得分:0)

事实证明,对分区列进行过滤是区分大小写的。

https://issues.apache.org/jira/browse/SPARK-19292