- 浏览: 16373 次
最新评论
文章列表
版本: Nutch 2.2.1
本文通过InjectJob来追踪webpage的定义、创建、传递、序列化、写入数据库的整个过程。从源码中摘录了重要的代码行,并标明其所在文件名、行号。
1. 定义 schema
schema直接写在源代码里面:
//file: org/apache/nutch/storage/WebPage.java
//line: 42
public class WebPage extends PersistentBase {
public static final Schema _SCHEMA = Schema.parse("{\" ...
使用avro生成java文件
- 博客分类:
- avro
首先下载avro-tools-1.7.6.jar包
创建user.avsc文件和需要生成的文件夹java
{"namespace": "example.avro",
"type": "record",
"name": "User",
"fields": [
{"name": "name", "type": "string"},
{&quo ...
Avro Datafile
- 博客分类:
- avro
转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/9817999
所有源码在github上https://github.com/lastsweetop/styhadoop
datafile组成
datafile的组成如下图:
datafile分为文件头是数据块,如果看图还是不明白,那么看这个应该会很清楚,datafile文件头的schema:
{"type": "record", "name": "org.apache.avro.file.Header& ...
Avro序列化与反序列化
- 博客分类:
- avro
转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/9773233
所有源码在github上https://github.com/lastsweetop/styhadoop
使用avro在很多情况下是对原有系统的改造,框架格式都已经定义好了,我们只能直接用avro对原有数据进行整合。(如果是新建系统,最好还是用avro的datafile,下一章讲datafile)
准备工作
将一下schema保存成文件StringPair.avsc,放在src/test/resources目录下
{
"type&qu ...
Avro Schemas
- 博客分类:
- avro
转载请写明来源地址:http://blog.csdn.net/lastsweetop/article/details/9664233
所有源码在github上https://github.com/lastsweetop/styhadoop
Schema 定义
Schema是JSON格式的,包括下面三种形式:
1.JSON string类型,主要是原生类型
2.JSON 数组,主要是union
3.JSON 对象,格式:
{"type": "typeName" ...attributes...}
包括除原生类型和union以外的其他类型,attribute ...
转载请写明来源地址:
http://blog.csdn.net/lastsweetop/article/details/9448961
所有源码在github上https://github.com/lastsweetop/styhadoop
Avro是个支持多语言的数据序列化框架,支持c,c++,c#,python,java,php,ruby,java。
他的诞生主要是为了弥补Writable只支持java语言的缺陷。
很多人会问类似的框架还有Thrift和Protocol,那为什么不使用这些框架,而要重新建一个框架呢,
或者说Avro有哪些不同。首先,Avro和其他框架一样,数据是用与语 ...