gpt4 book ai didi

hadoop - Hive - 如何打印 Hive 服务的类路径

转载 作者:可可西里 更新时间:2023-11-01 14:27:29 25 4
gpt4 key购买 nike

我需要检查 Hive 服务的类路径,以查看它在运行 Hive 查询时加载的 jar 的位置。

我想将 hive 的 parquet jar 更新为最新的 parquet jar 以读取新的 parquet 格式数据。

我已经更新了配置单元库位置 (/usr/hdp/2.5.XX/hive/lib/) 中的 jars,但它仍在使用其他位置的旧 jars。

我尝试使用以下命令列出 jars 但没有输出。

hive>list jars;

我尝试使用

添加新的 jar

add jar <'jar file>

但它仍在挑选旧 jar 。

有什么方法可以找出用于配置单元服务的类路径或 jar 吗?

最佳答案

运行以下命令获取hive命令位置

which hive

打开/usr/bin/(您的配置单元位置)下的“配置单元”文件

vi /usr/bin/hive

您应该会看到如下所示的内容。备份 hive 文件并在 exec 之前的最后为 HADOOP_CLASSPATH 添加 echo 命令,如下所示。

#!/bin/bash

if [ -d "/usr/hdp/2.5.0.0-1245/atlas/hook/hive" ]; then
if [ -z "${HADOOP_CLASSPATH}" ]; then
export HADOOP_CLASSPATH=/usr/hdp/2.5.0.0-1245/atlas/hook/hive/*
else
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:/usr/hdp/2.5.0.0-1245/atlas/hook/hive/*
fi
fi

...

if [ -z "${HADOOP_CLASSPATH}" ]; then
export HADOOP_CLASSPATH=${HCATALOG_JAR_PATH}
else
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${HCATALOG_JAR_PATH}
fi

####### Prints hadoop classpath

echo "Classpath=$HADOOP_CLASSPATH"

exec "${HIVE_HOME}/bin/hive.distro" "$@"

运行 hive 命令以显示类路径。

通过将新的 parquet jar 位置添加到环境变量“HADOOP_CLASSPATH”中解决了 parquet 问题

关于hadoop - Hive - 如何打印 Hive 服务的类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41194326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com