Apache spark WHERE 子句不起作用
Apache spark WHERE clause not working
我运行在较小的 yarn 集群上安装 Apache Spark 1.6.1。我正在尝试使用如下查询从配置单元 table 中提取数据:
df = hiveCtx.sql("""
SELECT *
FROM hive_database.gigantic_table
WHERE loaddate = '20170502'
""")
但是,无论我为 loaddate 赋予什么值,生成的数据帧都是整个 table。我能想到的唯一奇怪的事情是配置单元 table 被那个 loaddate 列分区。
Hive 单独显示 运行 此查询正确。我试过使用 .filter()
和各种级别的引号转换为整数,但在 Spark 上没有运气。
事实证明,对分区列的筛选区分大小写。
我运行在较小的 yarn 集群上安装 Apache Spark 1.6.1。我正在尝试使用如下查询从配置单元 table 中提取数据:
df = hiveCtx.sql("""
SELECT *
FROM hive_database.gigantic_table
WHERE loaddate = '20170502'
""")
但是,无论我为 loaddate 赋予什么值,生成的数据帧都是整个 table。我能想到的唯一奇怪的事情是配置单元 table 被那个 loaddate 列分区。
Hive 单独显示 运行 此查询正确。我试过使用 .filter()
和各种级别的引号转换为整数,但在 Spark 上没有运气。
事实证明,对分区列的筛选区分大小写。