实验:五

实验题目:熟悉常用的HDFS操作-利用Java API编程实现

1.实验目的

· 熟悉HDFS操作常用的Java API。

2.实验平台

· Hadoop 2.7.1

· Eclipse

· jdk

3.实验内容

· 在eclipse软件(或者其他Java IDE),使用java 语言编写能实现下面功能的程序:

  1. 在hdfs上,创建新文件夹 如 input。

  2. 从本地系统上传一个文件txt 文件到hdfs上

  3. 读取刚上传的文件的内容

  4. 对刚读取的文件写入内容

4、实验要求:

(1) 程序要添加适当的注释,规范写代码;

(2) 运行代码并且附加打印的结果和图片;

(3) 根据实验报告模板详细书写实验报告;

代码实现:

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.URI;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;public class HDFSDemo04 {public static void MkDirs() throws IOException {String uri = "hdfs://itcast01:8000";Configuration conf = new Configuration();FileSystem fs = FileSystem.get(URI.create(uri), conf);boolean res = fs.mkdirs(new Path("/input"));System.out.println(res==true?"Success":"Fail");}public static void copyLocToHdfs() throws IOException {Configuration conf = new Configuration();conf.set("fs.defaultFS","hdfs://itcast01:8000");FileSystem fs = FileSystem.get(conf);Path src = new Path("D:\\英雄时刻\\data.txt");Path dst = new Path("/input");fs.copyFromLocalFile(src, dst);}public static void GetContent() throws IOException {Configuration conf = new Configuration();conf.set("fs.defaultFS","hdfs://itcast01:8000");FileSystem fs = FileSystem.get(conf);FSDataInputStream fsDataInputStream = fs.open(new Path("/input/data.txt"));ByteArrayOutputStream stream = new ByteArrayOutputStream();IOUtils.copyBytes(fsDataInputStream, stream, 1024);System.out.println("haha~"+new String(stream.toByteArray()));}public static void WriteCont() throws IOException {Configuration conf = new Configuration();conf.set("fs.defaultFS","hdfs://itcast01:8000");FileSystem fs = FileSystem.get(conf);byte[] file_content = "\nThis is az!\n".getBytes();FSDataOutputStream fsDataOutputStream = fs.create(new Path("/input/data.txt"));fsDataOutputStream.write(file_content);}public static void main(String[] args) throws IOException {//MkDirs();//copyLocToHdfs();//GetContent();WriteCont();}}

实验截图:



大数据技术原理与应用实验五相关推荐

  1. 大数据技术原理与应用 实验6 Spark数据处理系统的搭建

    目录 一.实验题目 二.实验目的 三.实验平台 四.实验内容和要求 1.Spark RDD部分: 2.Spark SQL部分(分别使用Spark SQL API和Spark DataFrames AP ...

  2. 大数据技术原理与应用—课后题答案(第一章)

    大数据技术原理与应用_林子雨版_课后题答案(第一章) 1.试述信息技术发展史上的3次信息化浪潮及具体内容. 信息化浪潮 发生时间 标志  解决问题                           ...

  3. 大数据技术原理与应用-大数据概述

    文章目录 1 大数据时代 1.1 第三次信息化浪潮 1.2 信息科技为大数据时代提供技术支撑 1.2.1 存储设备容量不断增加 1.2.2 CPU处理能力大幅提升 1.2.3 网络带宽不断增加 1.3 ...

  4. [渝粤教育] 厦门大学 大数据技术原理与应用 参考 资料

    教育 -大数据技术原理与应用-章节资料考试资料-厦门大学[] 第1章 大数据概述 单元测验 1.[单选题]第三次信息化浪潮的标志是: A.个人电脑的普及 B.互联网的普及 C.云计算.大数据.物联网技 ...

  5. 大数据技术原理与应用课后题(林子雨)

    大数据技术原理与应用(林子雨) 第1章 大数据概述 1单选(2分) 第三次信息化浪潮的标志是: A.个人电脑的普及 B.云计算.大数据.物联网技术的普及 C.虚拟现实技术的普及 D.互联网的普及 正确 ...

  6. 大数据技术原理与应用 第一篇 大数据基础

    目录 第一章 大数据概述 一. 大数据时代 1.1 三次信息化浪潮 1.2 信息科技发展 1.3 数据产生方式的变革 1.4 大数据的影响 二. 大数据的概念 2.1 大数据的特征 2.2 大数据关键 ...

  7. 大数据技术原理与应用课程建设经验分享

    大数据技术原理与应用课程 建设经验分享 林子雨 厦门大学信息科学与技术学院, 福建 厦门 361005   摘要:大数据专业人才的培养是世界各国新一轮科技较量的基础,高等院校承担着大数据人才培养的重任 ...

  8. 关于大数据技术原理与应用的学习(3)

    学习目标: 大数据技术原理与应用 学习内容: 分布式文件系统HDFS 3.1HDFS简介 3.2HDFS相关概念 3.3HTFS体系结构 3.4HTFS存储元原理 3.5HDFS数据读写 3.6HDF ...

  9. 大数据技术原理与应用作业一

    大数据技术原理与应用作业一 1.试述信息技术发展史上的3次信息化浪潮及其具体内容. ​ 第一次信息化浪潮发生在1980年前后,具体标志是个人计算机的出现,PC开始普及,使得计算机走入企业和千家万户,大 ...

最新文章

  1. 游戏行业DDoS 6年谈:什么样的架构才可以对DDoS免疫?
  2. 基于CDS view自动生成的OData服务,是如何实现read操作的
  3. LwIP之数据包管理
  4. http调用如何返回回调函数_Simulink(模型amp;函数调用发生模块)+Guide自写简单系统(五)+StateflowChart回调函数 (二)...
  5. python编辑图像_在python中创建图像编辑应用程序
  6. Windows 10 开启 Num Lock
  7. 微信小程序 data中数据值的更改与储存
  8. ubuntu硬盘序列号怎么查询_如何在Linux中查找硬盘的详细信息?
  9. 防水穿墙套管在建筑外墙管道需设置柔性连接
  10. markdown流程图语法
  11. mysql查询最新的一条记录_mysql 查询不同用户 最新的一条记录
  12. 华为防火墙实现双机热备配置详解
  13. 在pcb布线中,要使拐角成圆弧形,应该怎么设置
  14. Java中WeakHashMap的应用场景
  15. go语言中pdf转图片功能的实现(CentOS)
  16. 统计学:概率与概率分布
  17. 中国保健品市场供需规模与投资前景预测分析报告2022-2027年版
  18. 《企业管理概论》在线平时作业3
  19. 教你如何做大学英语四级翻译题!!!英语四级翻译必备分类词汇和练习题以及模板
  20. android百度地图定位,改变MyLocationOverlay默认图标(原始为蓝色点)(两种方法)

热门文章

  1. 如何利用 Python + Selenium 自动化快速截图
  2. 基于 bootstrap 的省市区地址选择的 js
  3. Java帝国之宫廷内斗(2)
  4. 湖南省居民生活阶梯电价政策问答
  5. Linux 日志查看
  6. 【研究生】论文该不该强制开放源代码?那个曾经硬刚LeCun的女学者这样说
  7. html制作字符批量替换工具,字符批量替换工具
  8. 简单的VOD视频点播系统
  9. 个人帐簿管理系统设计c语言,个人账簿管理系统设计.doc
  10. 数据分析包的比较:R,Matlab,SciPy,Excel,SAS,SPSS,Stata