20161025:今日大数据知识总结(zookeeper回顾+序列化反序列化回顾+avro+zebro项目框架的搭建)
2016-10-25 20:52
363 查看
20161025:今日大数据知识总结(zookeeper回顾+序列化反序列化回顾+avro+zebro项目框架的搭建)
1、昨天zookeeper的知识回顾
主要包括ZK的安装,ZK的指令,ZK的API以及ZK的集群
2、序列化与反序列化
序列化的目的:
1.持久化,将数据写入磁盘上。过程:0-1转化成高低电平---电转为磁---磁信息附在磁盘上。达到持久化的目的。
2.进行网络数据的通信。过程跟持久化的过程类似,也是通过将0-1转为高低电平信号。
反序列化跟序列化的过程是相反的。
3、AVRO
Avro是一Hadoop的子项目,是一个基于二进制的序列化框架。
Avro的特点:
1.支持丰富的数据类型,8中基本数据类型,以及六种复杂类型。
2.有一套快速可压缩的二进制模式(可以提高传输速率)
3.支持RPC,远程过程调用协议
4.依赖模式(Schema),avro想实现对象的序列化,rpc。必须按照模式的定义来做
利用avro实现序列化
实现步骤:1.创建maven工程
2.导入pom.xml。这里有avro相关的依赖jar包以及相关的生成插件。
3.建立src/main/avro源目录
4.利用maven,根据avro的模式生成对应的序列化类
5.利用AvroAPI,进行序列化。
定义avro的模式文件
熟悉avro支持的数据类型。
利用avro实现rpc(远程过程调用)
远程过程调用(rpc)Rpc就是:客户端调用服务端的某一个方法。即客户端负责传输数据,服务端收到数据并结合具体的算法方法对数据进行处理,然后再将处理的结果返回给客户端。
RPC的英文为:remote prodedure call protocol
远程过程调用协议
实现步骤:
1.创建两个maven工程,一个是客户端,一个是服务端
2.利用avro做rpc,需要在src/main/avro建立协议文件,这个要根据schema的定义来写
3.利用,生成协议文件对应的java类(是一个接口),一式两份,客户端和服务端分别需要一份。
4.接口有了一份之后,服务端需要额外做的一件事情就是,根据接口新建一个实现类。即算法是在实现类里面写的。
5.调用avro的API实现rpc
Rpc的应用场景:
主要是应用在集群内部,节点之间的网络数据通信。Rpc主内,http主外。
Rpc除了能够做运算的处理之外,还可以起到传递数据的作用(这是rpc的主要作用,做数据的传递);
示例:利用rpc传递一个对象。
利用rpc传递一个用map封装的对象。
4、zebro项目的框架搭建
一:从配置文件中读取数据
Properties Pro=new Properties();
InputStream in=this.class.getResourceAsStream(“env.properties”);
Pro.load(in);
In.close();
If(pro.containsKey(“zebra.dir”)){
Dir=pro.getProperty(“zebra.dir”);
}
二:获取RZ文件夹中的文件,并截取不带后缀的文件名
File dir=new File(“E://RZ”);
File[] files=dir.listFiles();
For(File file: files){
If(file.getName().endWith(“.ctr”)){
String csvfileName=file.getName().split(“.ctr”)[0]+”.csv”;
File csvFile=new File(dir,csvfileName);
Globa
aba6
lEnv.getQueue.put(csvFile);
}
}
相关文章推荐
- (转)Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!
- 回顾框架搭建问题总结
- Java项目搭建必备知识总结
- SSH框架,AjaxJson显示数据,项目框架搭建;注意action跳转不用叹号,springMVC和springAnnotation要修改spring配置文件
- AVRO—跨语言数据序列化框架
- Zookeeper系列六:服务器角色、序列化与通信协议、数据存储、zookeeper总结
- 小程序嵌入h5项目总结(二)——移动端Vue项目框架搭建
- Android QQ空间(Apad)项目总结---应用UI框架的搭建
- Flume+Kafka+Zookeeper搭建大数据日志采集框架
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
- Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!
- C++基础知识总结与回顾--5.5共享数据的保护
- SpringMVC+Spring+Mybatis框架整合项目搭建总结
- 项目总结—校园办公管理系统(SSM框架搭建)
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- Java序列化反序列化、Serializable、Parcelable 知识总结
- 浅析avro序列化和反序列化源码及提供两种数据序列存储思路
- SSH 项目框架搭建总结
- Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!
- java基础知识回顾之javaIO类--java序列化和反序列化