《Hadoop生态系统及开发 实训手册 实训3 HDFS的读写API操作.docx》由会员分享,可在线阅读,更多相关《Hadoop生态系统及开发 实训手册 实训3 HDFS的读写API操作.docx(10页珍藏版)》请在第一文库网上搜索。
1、实训I 2.3 HDFS的读写API操作1 .实训目的通过本实训使学生学会在本地(WindOWS环境)编写Java代码,学会用离 线工程编写HDFS的读写操作,并且学会打包工程上传到服务器执行。2 .实训内容该实训需要每位学生在已搭建HDFS开发环境上编写了 HDFS写、读程序 代码;并打包项目,在集群环境上执行该程序。3 .实训要求以小组为单元进行实训,每小组5人,小组自协商选一位组长,由组长安排 和分配实训任务,具体参考实训操作环节。4 .准备知识(1) IDEA编辑器介绍IDEA全称是InteniJ IDEA,是JaVa语言开发的集成环境(也可用于其他语 言),IntelliJ在业界被公
2、认为最好的java开发工具之一,特别是在智能代码助手、 代码自动提示、重构、SFTP FTP、J2EE支持、代码审查、Ant JUnit CVS 整合、创新的GUl设计等方面,发挥着巨大的作用。IDEA是JetBrainS公司的 产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧 程序员为主。IDEA的版本分为商业版本与开源版本,对比如图2-50所示。UltimateCommunityVersion: 2019.2 Build: 192.5728.98 Released: July 24. 2019 Release notesFor web and enterprise d
3、evelopmentDOWNLOAD .EXEFree, open-sourceFor JVM and Android developmentJava, Kotlint Groovy, ScalayAndroid ?Maven, Gradle, SBTvrGit. SVN1 MercurialPerforceJavaScript, TypeScript yJava EEi Spring, Play, Grails. Other FrameworksDatabase Tools, SQL/Detecting Duplicates ?O pen-source. Apache 2.0 ?Licens
4、eCommercialSystem requirements Installation Instructions Other versions图2-50 IDEA编辑器版本对比(2) JaVa实现文件读写在操作HDFS的读写操作之前,我们最好有一点JaVa基础,比如说Java是怎么实现JaVa的文件读写的。下面列举几种JaVa的读写文件方式,供大家自行 搜索资料学习。方式一:InputStream OutputStream方式二(缓存字节流):BufferedInputStreamBUfferedOutputStream使用方式与字节流差不多,但是效率比后者更高(推荐使用)。方式三:Input
5、StreamReader OutputStreamWriter方式四:BUfferedReaderBufferedWriter方式五:ReaderPrintWriter建议使用第二种方式 BufferedInputStream BufferedOutputStreamo5.实训步骤(1)前提工作需要提前安装好Windows系统上的JDK,本实训教程安装的版本为:jdk-11.0.6o需要将Hadoop的安装包解压在Windows系统上的某一路径。需要安装好IDEA编辑器,本次实训使用的版本为:ideaIC2022.2.3(2)新建JaVa项目打开IDEA后,新建一个项目,点击“New Proj
6、ect,如图251所示。笆 Welcome to InteIIU IDEA回 IntelliJ IDEACustomizeWelcome to InteIIiJ IDEAPluginsLearn InteIIiJ IDEACreate a new project to start from scratch.Open existing project from disk or version control.New ProjectOpenGet from VCSTake a quick onboarding tourGet familiar with the InteIIiJ IDEA user
7、 interface and Ieam how to code in Java with smart assistance in just 7 minutes!Start Tour图2-51项目类型选择在弹出的窗口中,完成以下配置,如图252所示。项目名称:hadoop-proj ectJDK:选择自己Windows上安装的JDK回 New ProjectNew ProjectEmpty Project1 Maven ArchetypeV JavaFXK Kotlin Multiplatform用 Compose Multiplatform e IDE PluginM Android Adva
8、nced SettingSCreate Cancel图2-52完成相应配置然后点击窗口下方的“Create”,接着会新建好项目。(3)项目配置右击src,选择“New”,点击“Package”,建一个包,名为:“Com.bigdata”, 如图2-53所示。hadoop-project srcUs2dS Project 1. v hadoop-project C:Usersshaonaiyildea .ideaT src IG k家 hadoop X Cut Illli External Lit Qopy Scratches e Copy Path/Reference.Cl Paste0 Ma
9、inJava1 public class Main , public static void main(String a G Java Classctrl+ Ik Kotlin Class/FileFind UsagesScratch File Ctrl*Alt+Shift+lnsertCtrkV PackageA PaCkdge-info.javaAlt+F7 & module-info.java图2-53新建包然后编辑项目结构,点击“File”,点击Project Structure按钮,如图2-54 所示。,-! File Edit View Navigate Code Refactor
10、N,ew4 Open- Open Recent Close Project: Settings.Ctrl+Alt+SBr Project Structure. Ctrl+Alt+Shift+SFile PropertiesLocal HistoryBuild Run Tools VCS Window HelpQ 一 (3 Main.javaiectsha public class Main 2 public static v05图2-54编辑项目结构点击“Libraries”,引入编写HDFS程序相关的jar包依赖。具体操作:点 击“Libraries” 一 “ + ” “Java”,然后找到
11、解压后的Hadoop安装包,导入一 个是公共依赖包,如图2-57所示。凹 Select Library FilesSelect files or directories in which library classes, sources, documentation or native libraries are locatedHide path* O B-sshaonaiyiDeslctopM sources webapps H hadoop-common-3.3.4-tests.jar 11 hadoop-common-3.3.4.jar 目 hadoop-kms-3.3.4.jar 日
12、hadoop-nfs-3.3.4.jar El hadoop-registry-3.3.4.jar图2-57导入HDFS公共依赖包导入HDFS其他的相关依赖包,如图5-58所示。回 Select Library FilesSelect files or directories in which library classes, sources, documentation or native libraries are located 5 B; K X 0 Hide pathCUsersshaonaiyiDesktopJS client common 7 hdfs jdiff to lib s
13、ources图2-58导入HDFS相关依赖包(4)编写HDFS代码在com.bigdata包里新建:4* WriteFile类,编写WriteFile类代码,代码如下:package com.bigdata;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOutputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import java.io.IOException;import
14、 .URI;public class WriteFiIe public static void main(String args) throws IOException (String content = Hello,bigdata!,;String dest = hdfs:master:8020/test.txt;Configuration configuration = new ConfigurationO;FileSystem HIeSystem = FileSystem.get(URl.create(dest), configuration);FSDataOutputStream out = fileSystem.create(new Path(dest);out.write(content.getBytes(UTF-8);out.close();)1注意:请按照实际情况修改master的主机名!(5)编写HDFS读操作代码在com.bigdata包里新建一个ReadFile