Hadoop+idea+maven开发配置
来源:互联网 发布:淘宝电脑整机 编辑:程序博客网 时间:2024/05/16 14:07
idea是java开发的利器之一,其自身集成了maven,十分适用于大型项目的开发。大多数的Hadoop程序都是在idea下开发的,本文介绍了Hadoop+idea+maven的环境配置与开发测试
准备
- 在ubuntu下安装Hadoop,具体细节可见之前的博客
- 安装idea
建立项目
- 打开idea,选择 File---New---Project---Maven,接下来填写GroupId和ArtifactId,之后是项目名称和位置等等
- 新建项目后有提示 Maven project need to be imported ,选择导入
- 我们需要修改pom.xml文件,添加包的依赖关系。
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.yanjun.bigdata</groupId> <artifactId>bigdata</artifactId> <version>1.0-SNAPSHOT</version> <repositories> <repository> <id>apache</id> <url>http://maven.apache.org</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.2</version> </dependency> </dependencies></project>
- 接下来开始写代码,测试代码很简单,将输入目录下的所有文件顺序读入一个hdfs的输出文件中。在src/main/java 中建立PutMerge.class,代码内容如下
import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import java.io.IOException;/** * Created by lyj on 10/26/16. */public class PutMerge { public static void main(String[] args) throws IOException{ Configuration conf=new Configuration(); FileSystem hdfs = FileSystem.get(conf); LocalFileSystem local = FileSystem.getLocal(conf); Path inputDir=new Path(args[0]); Path outFile=new Path(args[1]); try{ FileStatus[] fileStatuses = local.listStatus(inputDir); FSDataOutputStream fsDataOutputStream = hdfs.create(outFile); for (int i = 0; i < fileStatuses.length; i++) { System.out.println(fileStatuses[i].getPath().getName()); FSDataInputStream in = local.open(fileStatuses[i].getPath()); byte [] buffer=new byte[1024]; int len=0; while((len=in.read(buffer))>0){ fsDataOutputStream.write(buffer,0,len); } in.close(); } fsDataOutputStream.close(); }catch(Exception e){ e.printStackTrace(); } }}
- 接下来开始生成文件jar包,选择File---Project Structure---Artifacts,点击 +号,选择jar ,From modules with dependencies ,然后选择main class 确定。然后点击build---build artifacts---build或者rebuild 。在out/artifacts目录下就能发现生成的jar包了,接下来我们测试一下生成的jar包。
测试jar包
- 在项目根目录下建立输入文件目录in,里面存放任意文件,然后在shell里面输入
hadoop jar out/artifacts/FirstHadoopCode_jar/FirstHadoopCode.jar PutMerge ./in ./res.txt
这句命令将in目录下的文件读取并输出到hdfs根目录下的res.txt文件中。运行之后可以看到in目录下的文件名被输出了
然后我们查看下hdfs根目录hdfs dfs -cat res.txt
结果输出了三个文件的所有内容。
使用mvn命令生成jar包
- 习惯使用maven命令的同学也可以使用maven的命令生成jar包
mvn compile
mvn package
- 然后在target目录下可以看到生成的jar包,
hadoop jar target/FirstHadoopCode.jar PutMerge ./in ./res.txt
0 0
- Hadoop+idea+maven开发配置
- win 10 + maven + idea 15 + Hadoop 2.7.3开发环境配置
- Hadoop实践(二)---集群和开发环境搭建(Intellij IDEA & Maven 开发Hadoop)
- idea hadoop 开发环境
- Intellij idea Hadoop 开发
- IDEA配置maven
- IDEA配置maven
- idea 配置maven
- idea maven jetty 配置
- IDEA + Maven配置 Struts2
- intelliJ IDEA maven配置
- windows IDEA 配置maven
- idea配置maven
- idea 配置maven
- idea配置maven
- idea maven配置
- IDEA配置maven
- IntelliJ IDEA配置maven
- 第九周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 并发自定义主键生成策略
- 洛谷-导弹的召唤(数据加强)
- caffe学习笔记(1)完整的caffe继承关系(图解)
- Oracle_限制和排序语句
- Hadoop+idea+maven开发配置
- 人生之精华,胜读十年书
- Qt5学习之路(VS2012下创建一个QT应用程序)
- 【仅收藏】隐藏ActionBar:requestWindowFeature(Window.FEATURE_NO_TITLE)无效解决方法
- python的web抓取技术
- halcon vs2013配置
- iOS使用stackview只能支持iOS9.0以上的系统
- c/c++练习–15
- sqlplus小结