Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 通过pig中使用的javajar调用程序_Hadoop_Apache Pig - Fatal编程技术网

Hadoop 通过pig中使用的javajar调用程序

Hadoop 通过pig中使用的javajar调用程序,hadoop,apache-pig,Hadoop,Apache Pig,我有一个调用特定控制台程序的jar文件。 我正在Pig中使用这个jar文件。 我的问题是,它在本地模式下运行良好,但当我进入Hadoop模式时,它失败了。 我还对所有节点的bashrc进行了更改,但类似的错误总是发生。 那么如何解决这个问题呢。经过几次尝试,我得到了答案。 首先将文件复制到hdfs的tmp文件夹中,例如hadoop fs-put YourModule/tmp/ 然后在pig脚本中添加如下语句: 设置mapred.cache.files/tmp/YourModule#ModuleN

我有一个调用特定控制台程序的jar文件。 我正在Pig中使用这个jar文件。 我的问题是,它在本地模式下运行良好,但当我进入Hadoop模式时,它失败了。 我还对所有节点的bashrc进行了更改,但类似的错误总是发生。
那么如何解决这个问题呢。

经过几次尝试,我得到了答案。 首先将文件复制到hdfs的tmp文件夹中,例如hadoop fs-put YourModule/tmp/ 然后在pig脚本中添加如下语句: 设置mapred.cache.files/tmp/YourModule#ModuleName; 设置mapred.create.symlink为是

然后,在jar文件中,您可以使用路径访问这些文件夹中的文件: ModuleName/文件名

就这样。 与本地模式类似,它在hadoop中工作平稳