使用 Tez 执行引擎将文件系统添加到 Hive

Posted

技术标签:

【中文标题】使用 Tez 执行引擎将文件系统添加到 Hive【英文标题】:Add Filesystem to Hive with Tez execution engine 【发布时间】:2017-09-07 14:55:56 【问题描述】:

使用 Tez 执行引擎对外部 ORC 表执行查询时收到以下错误:

Vertex failed, vertexName=Map 6, vertexId=vertex_1504790331090_0008_1_01, diagnostics=[Vertex vertex_1504790331090_0008_1_01 [Map 6] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: item initializer failed, 
vertex=vertex_1504790331090_0008_1_01 [Map 6], java.lang.RuntimeException: 
java.lang.ClassNotFoundException: Class org.apache.
hadoop.fs.nfs.NFSv3FileSystem not found
    at 
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2241)
    at 

org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2780)
    at 
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2793)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:99)
    at 
org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2829)

但是,当我使用 MapReduce 引擎运行查询时,它运行良好。我已将正确的行添加到 core-site.xml,我尝试将充当协议驱动程序的 jar 文件添加到 hive-site.xml。

为了让 Hive+Tez 支持额外的文件系统,我需要在哪里添加 jars 或修改配置?

【问题讨论】:

【参考方案1】:

在 tez-site.xml 文件中,配置 tez.lib.uris 属性以包含所需 jar 的路径。

【讨论】:

以上是关于使用 Tez 执行引擎将文件系统添加到 Hive的主要内容,如果未能解决你的问题,请参考以下文章

Hive 使用Tez引擎的配置

何时使用 Hive 引擎 MR,何时使用 TEZ?

hive集群tez引擎执行任务报错&&telnet Connection refused

hive集群tez引擎执行任务报错

hive.optimize.index.filter设置我true,tez查询udf函数报错

Hive-3.1.1 + Tez-0.9.1