使用 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引擎执行任务报错&&telnet Connection refused