关键词:
文章目录
使用Eclipse创建MapReduce工程
配置环境
推荐这篇博客
Eclipse连接Hadoop集群(详细版)
配置好后,我的是这个样子
保持虚拟机开启,虚拟机最好已经创建HDFS目录(非虚拟机本地目录)。
新建MapReduce工程
File->New->Project
选择Map/Reduce Project
直接Finish
新建一个Hello类测试环境是否正常
分布式文件系统HDFS
HDFS-JAVA接口之读取文件
/user/dfstest/hello_hadoop.txt
文件内容为hello hadoop
package FileTest;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class FileSystemCat
public static void main(String[] args) throws IOException
Configuration config = new Configuration();
URI uri = URI.create("hdfs://master:8020/user/dfstest/hello_hadoop.txt");
FileSystem fs = FileSystem.get(uri, config);
InputStream in = null;
try
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out, 2048, false);
catch (Exception e)
IOUtils.closeStream(in);
如出现以上报错
如果你用的是Eclipse:
eclipse 程序-》右击-》Run as-》Run configuation-》Arguments-》VM Arguments。框内粘贴-》apply-》run OK
添加内容如下:
--illegal-access=deny --add-opens java.base/java.lang=ALL-UNNAMED
如果你用的是Idea:
idea->run->edit configurations->JVM options
如果发现里面没JVM options(刚看了一下我的里面就没有),看我下面如何添加
--illegal-access=deny --add-opens java.base/java.lang=ALL-UNNAMED
再次运行程序
这样看起来是不是舒服多了,红色报错消失了.
HDFS-JAVA接口之上传文件
package FileTest;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class FileSystemUpload
public static void main(String[] args) throws IOException
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020/");
FileSystem fs = FileSystem.get(conf);
// 待上传文件的存放路径,我从win10环境向centos7虚拟机传文件
// 不同操作系统注意更改路径格式
Path localPath = new Path("C:\\\\Users\\\\dell\\\\Desktop\\\\email_log.txt");
// 这个是上传后存放的路径
Path hdfsPath = new Path("/user/dfstest/ysc.txt");
System.out.println("开始上传");
fs.copyFromLocalFile(localPath, hdfsPath);
System.out.println("上传完毕");
如果报错,可能是权限不够
hdfs dfs -chmod 777 /user/dfstest
HDFS-JAVA接口之删除文件
package FileTest;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class FileSystemDelete
public static void main(String[] args) throws IOException
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020/");
FileSystem fs = FileSystem.get(conf);
// 删除文件
Path path = new Path("/user/dfstest/ysc.txt");
System.out.println("开始删除");
fs.delete(path, true);
System.out.println("删除完毕");
fs.close();
HDFS-JAVA接口之列举文件夹和文件
列举文件夹
package FileTest;
import java.io.IOException;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
public class FileSystemListwjj
public static void main(String[] args) throws IOException
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020/");
FileSystem fs = FileSystem.get(conf);
Path path = new Path("/movie");
FileStatus[] fileStatuses = fs.listStatus(path);
for (FileStatus file : fileStatuses)
// 判断是否是文件夹
if (file.isDirectory())
System.out.println(file.getPath().toString());
fs.close();
列举文件
package FileTest;
import java.io.IOException;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
public class FileSystemListwj
public static void main(String[] args) throws IOException
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020/");
FileSystem fs = FileSystem.get(conf);
Path path = new Path("/movie");
FileStatus[] fileStatuses = fs.listStatus(path);
for (FileStatus file : fileStatuses)
// 判断是否是文件
if (file.isFile())
System.out.println(file.getPath().toString());
fs.close();
HDFS-JAVA接口之创建目录
package FileTest;
import java.io.IOException;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
public class FileSystemMakedir
public static void main(String[] args)throws IOException
Configuration conf=new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020");
FileSystem fs=FileSystem.get(conf);
Path path=new Path("/user/root/loginmessage");
fs.mkdirs(path);
fs.close();
HDFS-JAVA接口之下载文件
package FileTest;
import java.io.IOException;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
public class FileSystemGet
public static void main(String[] args) throws IOException
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020");
FileSystem fs = FileSystem.get(conf);
Path fromPath = new Path("/user/dfstest/hello_hadoop.txt");
// 下载到桌面吧
Path toPath = new Path("C:\\\\Users\\\\dell\\\\Desktop");
System.out.println("开始下载:"+fromPath);
fs.copyToLocalFile(false, fromPath, toPath, true);
System.out.println(fromPath+"下载完毕");
HDFS-JAVA接口之写入文件
package FileTest;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
public class FileSystemWrite
public static void main(String[] args) throws IOException
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://master:8020");
FileSystem fs = FileSystem.get(conf);
//将path内容写入newPath
Path path = new Path("/user/dfstest/hello_hadoop.txt");
Path newPath = new Path("/user/dfstest/new_hello_hadoop.txt");
fs.delete(newPath, true);
FSDataOutputStream os = fs.create(newPath);
FSDataInputStream is = fs.open(path);
BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, "utf-8"));
String line = "";
while ((line = br.readLine()) != null)
bw.write(line);
bw.newLine();
bw.close();
os.close();
br.close();
is.close();
fs.close();
mapreduce入门编程-成绩求和排序(代码片段)
...f08;算法、程序)、数据记录与处理、结果分析等总结MapReduce入门编程实验目的 1、掌握编程环境的准备方法2、掌握程序的打包方法3、掌握MapReduce任务的运行方法、运行状态的查看方法。实验任务与要求 任务:... 查看详情
并行编程入门
目录1.并行编程简介2.MapReduce2.1MapReduce简介2.2MapReduce框架2.3Hadoop介绍2.4Hadoop基本类2.5Hadoop编程实例1.并行编程简介1.1.并行编程作用,用途商业用途,科学计算,大数据分析1.2.并行编程兴起原因目前的串行编程的局限性使用的流水... 查看详情
大数据入门-分布式计算框架mapreduce
1概述源自于Google的MapReduce论文,发表于2004年12月。HadoopMapReduce是GoogleMapReduce的克隆版优点海量数量离线处理易开发易运行缺点实时流式计算2MapReduce编程模型wordcount词频统计MapReduce执行流程将作业拆分成Map阶段和Reduce阶段Map... 查看详情
mapreduce入门1(代码片段)
1.MapReduce介绍1.1MapReduce简介HadoopMapReduce是一个软件框架,用于轻松编写应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多TB数据集)。MapReduce是一种面... 查看详情
mapreduce编程-----wordcount程序编写及运行
一、MapReduce概述1.核心思想MapReduce的核心思想是“分而治之”,就是把一个复杂的问题,按照一定的“分解”方式分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的结果,把各部分的结果组成... 查看详情
学习笔记hadoop——mapreduce编程进阶(代码片段)
...使用Partitioner优化程序3.1、自定义单词计数四、本地提交MapReduce程序4.1、自定义单词计数一、输出文件格式及序列化文 查看详情
mapreduce编程实例5
...成开发环境配置请参考:Ubuntu搭建Hadoop源码阅读环境 MapReduce编程实例:MapReduce编程实例(一),详细介绍在集成环境中运行第一个MapReduce程序WordCount及代码分析MapReduce编程实例(二),计算学生平均成 查看详情
学习笔记hadoop(十五)——mapreduce编程进阶(代码片段)
...使用Partitioner优化程序3.1、自定义单词计数四、本地提交MapReduce程序4.1、自定义单词计数一、输出文件格式及序列化文 查看详情
mapreducemapreduce基础入门
一、mapreduce入门 1、什么是mapreduce 首先让我们来重温一下hadoop的四大组件:HDFS:分布式存储系统MapReduce:分布式计算系统YARN:hadoop的资源调度系统Common:以上三大组件的底层支撑组件,主要提供基础工具包和RPC... 查看详情
mapreduce编程初步(wordcount,topn)
...置Hadoop集群成功后,利用官方自带的例子简单测试了一下MapReduce程序WordCount,这个例子也就相当于编程入门的HelloWorld程序了,结构清晰容易理解,并且方便说明MapReduce的工作过程。这篇随笔主要想记录下在Eclipse中编写简单的MapR... 查看详情
mapreduce(代码片段)
MapReduce编程模型详解(基于Windows平台Eclipse)阅读目录前期准备编程环境搭建编写map阶段的map函数编写reduce阶段的reduce函数编写驱动类运行MapReduce程序报错解决总结本文基于Windows平台Eclipse,以使用MapReduce编程模型统计文本文件... 查看详情
mapreduce编程实例(代码片段)
MapReduce常见编程实例集锦。一、WordCount实例输入数据:file1.csv内容hellodworldfile2.csv内容hellodhadoop输出结果:hadoop1hello2world1 实现代码及源码分析:1packagecom.hadoop.kwang;23importjava.io.IOException;4importjava.util.StringT 查看详情
60集python入门视频ppt整理|python编程基础及编程风格
学习视频来源:《马哥教育-Python入门教程》 查看详情
剖析美国平均气温项目,掌握mapreduce编程
数据集导入HDFS通过命令行访问刚刚上传至HDFS的数据集[[email protected]hadoop-2.6.0]$bin/hdfsdfs-ls/weather/ MapReduce程序编译及运行:第一步:在Map阶段,提取气象站和气温数据publicstaticclassTemperatureMapperextendsMapper<LongWritable,Text,Te 查看详情
云计算-mapreduce
Hadoop示例程序WordCount详解及实例http://blog.csdn.net/xw13106209/article/details/6116323hadoop中使用MapReduce编程实例(转)http://eric-gcm.iteye.com/blog/1807468【mapreduce进阶编程二】奇偶行分别求和http://www.aboutyun.com/forum.php?m 查看详情
hadoopstreaming使用及参数设置
1.MapReduce与HDFS简介 什么是Hadoop? Google为自己的业务需要提出了编程模型MapReduce和分布式文件系统GoogleFileSystem,并发布了相关论文(可在GoogleResearch的网站上获得:GFS、MapReduce)。DougCutting和MikeCafarella在开发搜索引擎Nutch... 查看详情
mapreduce编程之实例分析:wordcount
...数之间有间隔2.WordCount程序设计思路 WordCount可以使用MapReduce去做 在/usr/local/目录下创建WordCount文件夹 mkdir/usr/local/wordcount 切换到指 查看详情
2018-07-30期mapreduce分区(partitioner)编程案例
1、EmpSalaryBean对象packagecn.sjq.mr.part;importjava.io.DataInput;importjava.io.DataOutput;importjava.io.IOException;importorg.apache.hadoop.io.Writable;/***定义一个员工薪水的JavaBean,并实现MapReduce的Writable序列化接口*@ 查看详情