20161025:今日大数据知识总结(zookeeper回顾+序列化反序列化回顾+avro+zebro项目框架的搭建)
来源:互联网 发布:儿童涂鸦软件 编辑:程序博客网 时间:2024/03/29 09:43
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);
GlobalEnv.getQueue.put(csvFile);
}
}
- 20161025:今日大数据知识总结(zookeeper回顾+序列化反序列化回顾+avro+zebro项目框架的搭建)
- Java基础回顾 : 对象序列化和反序列化
- Avro序列化/反序列化
- Avro序列化与反序列化
- avro反序列化
- Avro实现序列化和反序列化
- Apache Avro 序列化与反序列化 (Java 实现)
- Avro序列化操作(2):序列化和反序列化
- java jackson avro kryo等几种序列化与反序列化工具的使用
- android知识回顾-----序列化对象
- 回顾框架搭建问题总结
- Avro数据序列化
- Java知识(对象的序列化和反序列化)
- 回顾SSM框架的搭建
- hadoop深入研究:(十六)——Avro序列化与反序列化
- 如何用Avro在内存中实现序列化 和反序列化
- 序列化--反序列化:Schema evolution in Avro, Protocol Buffers and Thrift
- Avro (数据序列化) 基础概念
- 支持向量机通俗导论(理解SVM的三层境界)
- 面试遇到的问题
- Could not publish server configuration for Tomcat v7.0 Server at localhost. Multiple Contexts have a
- C++指针实战
- 【NOIP2010】引水入城 {搜索}
- 20161025:今日大数据知识总结(zookeeper回顾+序列化反序列化回顾+avro+zebro项目框架的搭建)
- Activity 启动模式
- Unity 读写Json数据:LitJSON快速教程
- java通过JDBC链接SQLServer2012
- Windows客户端开发--获取屏幕分辨率及大小相关
- spring 配置文件 数据注入DI
- Centos7更改默认启动桌面(或命令行)模式
- WebBrowser常用属性方法介绍
- 知识点记录