做网站还是做公众号,jsp网站开发详解 pdf,公司网站建设接单,南昌哪里做网站比较好目录
1 实验名称#xff1a;
2 实验目的
3 实验内容
4 实验原理
5 实验过程或源代码
5.1 HDFS的基本操作
5.2 HDFS-JAVA接口之读取文件
5.3 HDFS-JAVA接口之上传文件
5.4 HDFS-JAVA接口之删除文件
6 实验结果
6.1 HDFS的基本操作
6.2 HDFS-JAVA接口之读取文件
6.…目录
1 实验名称
2 实验目的
3 实验内容
4 实验原理
5 实验过程或源代码
5.1 HDFS的基本操作
5.2 HDFS-JAVA接口之读取文件
5.3 HDFS-JAVA接口之上传文件
5.4 HDFS-JAVA接口之删除文件
6 实验结果
6.1 HDFS的基本操作
6.2 HDFS-JAVA接口之读取文件
6.3 HDFS-JAVA接口之上传文件
6.4 HDFS-JAVA接口之删除文件 1 实验名称 分布式文件系统HDFS
2 实验目的 1.理解HDFS存在的优势理解HDFS体系架构学会在环境中部署HDFS学会HDFS基本命令。 2.理解HDFS的读写操作原理掌握HDFS的一些常用命令理解实际操作HDFS读写时的流程。
3 实验内容 1HDFS的基本操作 2HDFS-JAVA接口之读取文件 3HDFS-JAVA接口之上传文件 4HDFS-JAVA接口之删除文件
4 实验原理 HDFSHadoop Distributed File System是一个分布式文件系统是谷歌的GFS山寨版本。它具有高容错性并提供了高吞吐量的数据访问非常适合大规模数据集上的应用它提供了一个高度容错性和高吞吐量的海量数据存储解决方案。 HDFS文件系统的角色分为三种Master和Slave的结构主从节点结构分为NameNode、Secondary NameNode和DataNode三种角色。 HDFS为分布式计算存储提供了底层支持采用Java语言开发可以部署在多种普通的廉价机器上以集群处理数量积达到大型主机处理性能。HDFS 架构原理HDFS采用master/slave架构。一个HDFS集群包含一个单独的NameNode和多个DataNode。Namenode管理文件系统的元数据而Datanode存储了实际的数据。
5 实验过程或源代码
5.1 HDFS的基本操作 1.启动Hadoop在HDFS中创建/usr/output/文件夹
start-dfs.sh
hadoop fs -mkdir /usr
hadoop fs -mkdir /usr/output 2.在本地创建hello.txt文件并添加内容“HDFS的块比磁盘的块大其目的是为了最小化寻址开销。”vim hello.txt 3.将hello.txt上传至HDFS的/usr/output/目录下hadoop fs -put hello.txt /usr/output 4.删除HDFS的/user/hadoop目录hadoop fs -rm -r /user/hadoop 5.将Hadoop上的文件hello.txt从HDFS复制到本地/usr/local目录hadoop fs -copyToLocal /usr/output/hello.txt /usr/local
5.2 HDFS-JAVA接口之读取文件 1.使用FSDataInputStream获取HDFS的/user/hadoop/目录下的task.txt的文件内容并输出。代码实现如下
URI uri URI.create(hdfs://localhost:9000/user/hadoop/task.txt);Configuration config new Configuration();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);}
5.3 HDFS-JAVA接口之上传文件 1.在/develop/input/目录下创建hello.txt文件并输入如下数据迢迢牵牛星皎皎河汉女。纤纤擢素手札札弄机杼。终日不成章泣涕零如雨。河汉清且浅相去复几许盈盈一水间脉脉不得语。《迢迢牵牛星》。命令行
mkdir /develop
mkdir /develop/input
cd /develop/input
vim hello.txt
start-dfs.sh 2.使用FSDataOutputStream对象将文件上传至HDFS的/user/tmp/目录下并打印进度。代码实现如下
File localPath new File(/develop/input/hello.txt);String hdfsPath hdfs://localhost:9000/user/tmp/hello.txt;InputStream in new BufferedInputStream(new FileInputStream(localPath));Configuration config new Configuration();FileSystem fs FileSystem.get(URI.create(hdfsPath), config);long fileSize localPath.length() 65536 ? localPath.length() / 65536 : 1; FSDataOutputStream out fs.create(new Path(hdfsPath), new Progressable() {long fileCount 0;public void progress() {System.out.println(总进度 (fileCount / fileSize) * 100 %);fileCount;}});IOUtils.copyBytes(in, out, 2048, true);
5.4 HDFS-JAVA接口之删除文件 1.启动hadoopstart-dfs.sh 2.实现如下功能删除HDFS的/user/hadoop/目录空目录删除HDFS的/tmp/test/目录非空目录列出HDFS根目录下所有的文件和文件夹列出HDFS下/tmp/的所有文件和文件夹。代码实现如下
String root hdfs://localhost:9000/;String path hdfs://localhost:9000/tmp;String del1 hdfs://localhost:9000/user/hadoop;String del2 hdfs://localhost:9000/tmp/test;Configuration config new Configuration();FileSystem fs FileSystem.get(URI.create(root),config);fs.delete(new Path(del1),true);fs.delete(new Path(del2),true);Path[] paths {new Path(root),new Path(path)};FileStatus[] status fs.listStatus(paths);Path[] listPaths FileUtil.stat2Paths(status);for (Path path1 : listPaths){
System.out.println(path1);
}
6 实验结果
6.1 HDFS的基本操作 1.文件输出结果 6.2 HDFS-JAVA接口之读取文件 1.获取HDFS的/user/hadoop/目录下的task.txt的文件内容 6.3 HDFS-JAVA接口之上传文件 1.文件上传并打印进度 6.4 HDFS-JAVA接口之删除文件 1.删除文件输出结果