【问题标题】:Hive on Spark return no results on aggregation or join queriesSpark 上的 Hive 不返回聚合或连接查询的结果
【发布时间】:2019-06-10 13:10:30
【问题描述】:

聚合或连接不会从外部表上的 Hive 查询返回任何结果。

我已设置 hive 以使用 Spark(独立)作为查询引擎而不是 MR。

我已经创建了一个外部表(来自 elastichsearch 索引)。

使用 SELECT 一切正常并返回数据:

SELECT * FROM table1 LIMIT 100

尝试使用简单的计数不返回数据:

SELECT count(*) FROM table1

我使用 JDBC (beeline) 在 Hive 上执行查询

从日志来看,选择查询似乎是直接在弹性上执行的(没有生成火花作业)。执行计数查询时,会生成一个 spark 作业并成功完成,但会返回任何结果。

【问题讨论】:

    标签: sql apache-spark hive


    【解决方案1】:

    显然,您使用的联接正在过滤掉所有记录。检查您要加入的条件是否存在于两个表中。尝试将连接类型从内部更改为左侧,看看是否有任何结果。

    如果您仍然无法管理,能否从您尝试加入的 2 个表中添加一个示例?

    告诉我。

    【讨论】:

    • 我发现了问题。 Spark 在文件系统中写入查询结果并告诉配置单元在哪里读取它们。 Hive 和 spark 应该共享写入这些结果的位置(如 HDFS)
    • 是的,这是您必须为两者设置的配置
    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多