【发布时间】:2018-09-24 01:57:11
【问题描述】:
我正在尝试从 Apache Spark 计算 HIVE 表统计信息:
`sqlCtx.sql('ANALYZE TABLE t1 COMPUTE STATISTICS')`
我还执行语句来查看收集了什么:
sqlCtx.sql('DESC FORMATTED t1')
我可以看到我的统计数据已收集。 但是,当我在 HIVE 客户端(Ambari)中执行相同的语句时 - 没有显示统计信息。如果它由 Spark 收集,它是否仅对 Spark 可用? spark 会将其存储在其他地方吗?
另一个问题。
我还计算该表中所有列的统计信息:
sqlCtx.sql('ANALYZE TABLE t1 COMPUTE STATISTICS FOR COLUMNS c1,c2')
但是当我想在 spark 中查看此统计信息时,它因不支持的 sql 语句异常而失败:
sqlCtx.sql('DESC FORMATTED t1 c1')
根据文档,它是有效的蜂巢查询。 它有什么问题?
感谢您的帮助。
【问题讨论】:
-
可能是因为启用了 Hive 支持的 Spark 不是 Hive 客户端。 Spark 恰好“知道”如何使用 Hive 元存储以及如何调用 Hive 函数。
标签: apache-spark hive