Mapr的java开发指南(一)

本页描述如何访问MAPR-FS在Java程序中,并包含示例代码。此页面包含了以下主题:

  • 使用JAR文件从Maven的
  • 使用JAR文件从MAPR安装
  • 编写一个Java应用程序

作为一个高性能的文件系统中,MAPR-FS文件的客户端部分是基于本地库。来访问MAPR-FS文件所需的所有依赖关系都包含在一个JAR文件,对于32 -位和64位Linux上,64位Mac OSX,和32 -位和64位Windows客户端。当开发一个应用程序,并指定在此JAR的依赖让您无需管理特定于平台的依赖关系构建应用程序。当你的应用程序加载maprfs库,如果maprclient为目标OS库不可用在Java CLASSPATH中,加载器将搜索的脂肪JAR的内容,找到maprclient那里。

使用JAR文件从Maven的

MAPR从发布2.1.2版本,Maven构件在以后http://repository.mapr.com/maven/。

例如,编译为MAPR 2.1.3版时,下面的依赖关系添加到项目的pom.xml的文件。这种依赖性会从MAPR的Maven仓库,下一次你做一个拉动的依赖关系的其他命令mvn干净安装

   org.apache.hadoop
   的hadoop的
   1.0.3-MAPR-2.1.3.1

对于MAPR提供的文物和进一步的细节的完整列表,请参阅Maven资源库和工件MAPR。

使用JAR文件从MAPR安装

您还可以找到maprfs库JAR中的/ opt / MAPR / lib目录的目录。

编译#示例代码下面只需要Hadoop的核心JAR文件:

javac的-CP / opt/mapr/hadoop/hadoop-  0.20  / lib/hadoop-  0.20  -DEV-core.jar中MapRTest.java

例如,要运行MAPR版本3.0.0的示例代码,使用下面的库路径:

java的Djava.library.path = /选择/ MAPR / lib目录-CP:$(Hadoop的类路径)\
/ opt/mapr/hadoop/hadoop-0.20.2/conf:\
/ opt/mapr/hadoop/hadoop-0.20.2/lib/hadoop-0.20.2-dev-core.jar:\
/ opt/mapr/hadoop/hadoop-0.20.2/lib/commons-logging-1.0.4.jar:\
/ opt/mapr/hadoop/hadoop-0.20.2/lib/maprfs-1.0.3-mapr-3.0.0.jar:\
/ opt/mapr/hadoop/hadoop-0.20.2/lib/maprfs-jni-1.0.3-mapr-3.0.0.jar:\
/ opt/mapr/hadoop/hadoop-0.20.2/lib/zookeeper-3.3.6.jar \
MapRTest /测试

编写一个Java应用程序

在Java应用程序中,您将使用一个配置对象MAPR-FS接口。当你运行你的Java应用程序,Hadoop的配置目录添加/ opt/mapr/hadoop/hadoop- / conf目录到Java类路径中。当你实例化一个配置对象,它与从该目录中的配置文件绘制默认值创建。

示例代码

下面的示例代码显示了如何用MAPR-FS使用Java接口。该示例创建一个目录,写入一个文件,然后读取该文件的内容。

/ *版权所有(c)2009及以后。MAPR科技公司,保留所有权利* /
 
/ /包com.mapr.fs;
 
导入  java.net *。;
进口  org.apache.hadoop.fs *。;
进口  org.apache.hadoop.conf *。;
 
/ **
*假设MAPR安装在/ opt / MAPR
*
*编译只需要hadoop的jar文件:
*的javac-CP / opt/mapr/hadoop/hadoop-0.20.2/lib/hadoop-0.20.2-dev-core.jar MapRTest.java
*
*运行:
*的java-Djava.library.path = /选择/ MAPR / lib目录-CP MapRTest /测试
* /
公共    MapRTest
{
公共  静态  无效的  主要(字符串参数[]) 抛出  异常{
字节  BUF [] =  新的  字节 65  1024  ];
整型  AC =  ;
如果  (args.length!=  ){
System.out.println(  “ 用法:MapRTest路径名”  );
返回 ;
}
 
/ / maprfs :/ / / - >使用在/ opt / MAPR / conf /中MAPR-clusters.conf的第一个条目
/ / maprfs :/ / / MAPR / my.cluster.com /
/ / / MAPR / my.cluster.com /
 
/ /字符串的uri =“maprfs :/ / /”;
串目录名称=参数[AC + +];
 
配置CONF =    配置();
 
/ /文件系统FS = FileSystem.get(URI.create(URI),conf目录下); / /如果想要使用不同的集群
文件系统FS = FileSystem.get(机密);
 
路径dirpath =    路径(目录名+  “/目录”  );
路径wfilepath =    路径(目录名+  “/ file.w”  );
/ /路径rfilepath =新路径(目录名+“/ file.r”);
路径rfilepath = wfilepath;
 
 
/ / TRY MKDIR
布尔  RES = fs.mkdirs(dirpath);
如果  (!水库){
System.out.println( “MKDIR失败,路径:”  + dirpath);
返回 ;
}
 
System.out.println( “MKDIR(”  + dirpath +  “)就ok了,现在写文件”  );
 
/ /创建wfile
FSDataOutputStream OSTR = fs.create(wfilepath,
/ /重写
512  / / BUFFERSIZE
/ /复制
)( 64  1024  1024  / /块大小
);
ostr.write(BUF);
ostr.close();
 
System.out.println(  “ 写(”  + wfilepath +  “)就OK”  );
 
/ /读取参考文件
System.out.println(  “ 读文件:”  + rfilepath);
FSDataInputStream ISTR = fs.open(rfilepath);
整型  BB = istr.readInt();
istr.close();
System.out.println(  “ 读OK”  );
}
}

你可能感兴趣的:(Mapr——开发)