【发布时间】:2012-05-04 09:45:14
【问题描述】:
我是 java 新手,所以这可能是一个幼稚的问题,我有一个外部 jar 文件,我想以编程方式移动到 Hadoop 文件系统,我有 API 可以这样做,但我只需要提供 jar 的路径文件。我不想使用硬编码路径(绝对和相对),也许如果我可以将它与我的项目一起包含,或者可能更好的东西,以便相同的代码在不同的机器上工作,相同的 jar 文件可能不会出现在不同机器上的相同位置,如果我要给出硬编码路径,那么我需要将文件显式复制到相同位置。
我已经为 Hive 编写了 UDF(jar 文件),它在我的磁盘上可用,现在要访问 Hive 中的 UDF,需要将 jar 添加到 HIVE 类路径,所以我想将 JAR 文件从我的本地系统复制到 HDFS,然后将 jar 从 HDFS 路径添加到 HIVE 类路径。
【问题讨论】:
-
一种方法是为 Jar 获取
File,然后将其转换为URL,然后使用URLClassLoader加载它。话虽如此,整个方法听起来是错误的。为什么资源不是通过通常的方法简单地构建/加载到 Hadoop 中? -
酷。将其添加为标签。顺便说一句-我还将您的第一条评论的症结编辑回了问题。你现在可以删除评论了。
标签: java hadoop user-defined-functions hive hdfs