在 Hadoop:The Definitive Guide 一书中没有关于如何编译Hadoop代码的指南。我没有使用任何Java IDE。我需要安装任何Java IDE吗?我创建了代码的JAR文件,并尝试使用Hadoop命令运行它,但它不能用于 Ubuntu 。该书说使用本书网站上的说明安装和编译示例,但我无法在O'Reilly的网站上找到它。
如果有人可以告诉我如何编译这样的简单代码,那对我来说将是一个很大的帮助。
import org.apache.hadoop.fs;
import java.io.IOException;
import java.net.URL;
import org.apache.hadoop.io.IOUtils;
public class URLCat{
static{
URL.setURLStreamHandlerFactory(new FSUrlStreamHandlerFactory());
}
public static void main(String[] args) throws Exception{
InputStream in =null;
try{
in=new URL(args[0]).openStream();
IOUtils.copyBytes(in,System.out,4096,false);
}finally{
IOUtils.closeStream(in);
}
}
}
答案 0 :(得分:0)
您可以在以下链接中找到示例代码: Link to Github
要编译Hadoop代码示例,您需要:
需要安装Maven和Java。
然后导航到您在终端中具有所有章节文件夹的根文件夹,然后键入:
mvn package -DskipTests
此命令编译所有代码。
答案 1 :(得分:0)
这些是我为运行 Hadoop The Definetive Guide 4 Ed (https://github.com/tomwhite/hadoop-book) 一书的示例代码所遵循的步骤。
先按照这个安装https://stackoverflow.com/a/51617361/15576728,这也是在主代码的Read.md中定义的,所以让你先完成这个。
从 GIT 下载代码
解压然后cd到文件夹/home/hadoop-book-master/
运行 mvn package -DskipTests,这将创建一些 .jar 文件,这些文件必须是本书章节 hadoop-examples.jar 中建议的文件
预订第 49 页。
% 导出 HADOOP_CLASSPATH=hadoop-examples.jar
% hadoop MaxTemperature 输入/ncdc/sample.txt 输出
正如您在此处 (https://stackoverflow.com/a/31918625/15576728) 看到的,您执行 hadoop jar 的方式是:
"hadoop jar jarFileName mainClassname AnyCommandLineArguements"
其中“jarFileName”将是“hadoop-examples.jar”,因为这将使示例编译代码运行,mainClassname 为 MaxTemperature,最后“AnyCommandLineArguements”是来自 HDFS 的输入路径,输出将在 HDFS 中创建。< /p>
hadoop jar $HADOOP_CLASSPATH MaxTemperature /data/sample.txt /outputTest
重要的是要记住您要处理的任何文件都必须在 HDFS 中才能使您的代码正常工作。
hdfs dfs -mkdir /data
hadoop fs -copyFromLocal /home/hadoop-book-master/input/ncdc/sample.txt /data