使用hadoop命令rcc生成Record 一个简单的方法来实现自己的定义writable对象
2015-07-04 16:02
1406 查看
hadoop的bin文件夹以下一个rcc命令,网上介绍非常少。看了一下源代码。发现能够用来生成java和c++的hadoopRecord类代码,比起自己直接实现writable接口。简单非常多并且不easy出错,最好还是试一下。详细方法例如以下:
>rcc
Usage:rcc--language[java|c++]ddl-files1新建ddl文件
>vimstud.ddl
modulecom.xschao.bean{
classStud{
ustringname;
longid;
intage;
ustringtime;
}
}其它的类型补充,详细是啥自行脑补:
"\"byte\"",
"\"boolean\"",
"\"int\"",
"\"long\"",
"\"float\"",
"\"double\"",
"\"ustring\"",
"\"buffer\"",
"\"vector\"",
"\"map\"",2运行编译命令
>rcc--languagejavastud.ddl查看生成的文件:
>tree
.
|--com
|`--xschao
|`--bean
|`--Stud.java
|--command_example.sh
`--stud.ddl
3directories,3filesStud.java即为生成的java代码
//Filegeneratedbyhadooprecordcompiler.Donotedit.
packagecom.xschao.bean;
publicclassStudextendsorg.apache.hadoop.record.Record{
privatestaticfinalorg.apache.hadoop.record.meta.RecordTypeInfo_rio_recTypeInfo;
privatestaticorg.apache.hadoop.record.meta.RecordTypeInfo_rio_rtiFilter;
privatestaticint[]_rio_rtiFilterFields;
static{
_rio_recTypeInfo=neworg.apache.hadoop.record.meta.RecordTypeInfo("Stud");
_rio_recTypeInfo.addField("name",org.apache.hadoop.record.meta.TypeID.StringTypeID);
_rio_recTypeInfo.addField("id",org.apache.hadoop.record.meta.TypeID.LongTypeID);
_rio_recTypeInfo.addField("age",org.apache.hadoop.record.meta.TypeID.IntTypeID);
_rio_recTypeInfo.addField("time",org.apache.hadoop.record.meta.TypeID.StringTypeID);
}
privateStringname;
privatelongid;
privateintage;
privateStringtime;
publicStud(){}
publicStud(
finalStringname,
finallongid,
finalintage,
finalStringtime){
this.name=name;
this.id=id;
this.age=age;
this.time=time;
}。。。。。。。。。。。。。。。。。。。。。[/code]ok格格巫婆--蓝精灵-
相关文章推荐
- OpenERP 之 Relational Types(关联类型)
- linux下文件系统类型的学习
- 基本正则表达式grep命令使用
- OpenERP之工作流 workflow
- linux下常用的37条Shell命令
- intelij idea 使用熟悉积累
- openstack之Glance
- nginx事件 epoll
- nginx命令:启动,停止及命令参数详解
- #Shell脚本 -- 批量生成测试用SQL语句
- linux下文件系统的介绍
- nginx apache
- Linux常用网络工具traceroute路由扫描
- 重装系统后,tomcat在myeclipse启动慢之解决
- 使用Maven实现一键部署war到Tomcat
- 客户端putty, xshell连接linux中vim的小键盘问题
- linux下磁盘进行分区、文件系统创建、挂载和卸载
- arm-linux-gcc交叉编译器安装说明
- docker学习笔记
- shell中的命令替换和变量替换