HDFS 我正在使用IntelliJ练习基本的Hadoop

mzaanser  于 2023-03-16  发布在  HDFS
关注(0)|答案(1)|浏览(202)

https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html
我试图修改下面链接中的代码。我的目标是实现最后三个指定hdfs本地输入和输出源目录的代码。
我正试图通过wordcount java代码访问我的hadoop数据路径。
而且我已经有了Hadoop数据库。
例如)我正在尝试通过Java代码访问/user/prac/input目录
访问本地目录原始代码如下

FileInputFormat.addInputPath(job, new Path("input")); 
FileOutputFormat.setOutputPath(job, new Path("output"));
System.exit(job.waitForCompletion(true) ? 0 : 1);

这就是我如何修改

String directoryName = "hdfs://localhost:9000/user/prac/";

FileInputFormat.addInputPath(job, new Path(directoryName + "input")); 
FileOutputFormat.setOutputPath(job, new Path( directoryName + "output"));
System.exit(job.waitForCompletion(true) ? 0 : 1);

我做得好吗?
我试过修改密码

cidc1ykv

cidc1ykv1#

HDFS地址是从Hadoop SDK中的$HADOOP_CONF_DIR/core-site.xml自动收集的,因此您无需显式设置它
此外,除非使用绝对路径,否则HADOOP_USER_NAME变量默认所有操作都读/写用户文件夹。
因此,原始代码已经按照您尝试修改的方式工作。
值得一提的是,现在已经没有人真正写mapreduce代码了,Spark或Flink也会在Intellij上运行。

相关问题