我们可以通过元数据提取 hive 上 运行 的查询吗

Can we extract the queries which was ran on hive through metadata

基本上,我想要一天内在配置单元上 运行 的查询的元数据。我查看了 MySql 中 hive 提供的元数据。但无法找到任何存储查询相关信息的 table。

经过一些研究发现我们可以使用 Hadoop 的 History Server REST API 提取 MapReduce 作业。

然后您将获得与工作相关的信息。

要获取查询,您需要请求特定作业的 conf

/ws/v1/history/mapreduce/jobs//conf

从这里您将获得所有配置。 对于查询,您需要查看 hive.query.string

https://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-site/HistoryServerRest.html#History_Server_REST_APIs.

我们还可以从 hdfs 位置提取作业的 JSON 和 XML 中该作业的配置。为此,您需要 mapreduce.jobhistory.done-dir 属性.

的值

然后你启动 hdfs get 命令来获取数据。

hdfs dfs -get <resource-manager-path>/<year-dir>/<month-dir>/<day-dir>  <destination-local-dir>