资源简介

工程目录介绍,标准的maven工程 src/main/resource : 放置schema lib:放置生成bean的工具 doc:放置测试结果

资源截图

代码片段和文件信息

package com.topsec.trd;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.avro.file.DataFileReader;
import org.apache.avro.file.DataFileWriter;
import org.apache.avro.file.SeekableByteArrayInput;
import org.apache.avro.generic.GenericDatumReader;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.io.DatumReader;
import org.apache.avro.io.DatumWriter;
import org.apache.avro.specific.SpecificDatumReader;
import org.apache.avro.specific.SpecificDatumWriter;
import org.junit.Test;
/**
 * java -jar lib/avro-tools-1.7.7.jar compile schema src/main/resource/student.avsc src/main/java
 * @author Vincent.LJ
 *
 */
public class AVRO {
private final static int TIMES = 10000000;
 public static void main(String[] args) throws IOException {
 long start = System.currentTimeMillis();
//  for(int i = 0; i < TIMES; i++) {
//  deserializeAsBytes();
//  }
 
 deserializeAsBytes();
 long end = System.currentTimeMillis();
 System.out.println(“Avro total time \t“ + (end -start));
 }
 
 @Test
 public void serialize () throws IOException {
 
 for(int i = 0; i < 10; i++) {
 StudentAvro student = new StudentAvro();
 student.setName(“张-“ + i);
 student.setSex(“女“);
 student.setAge(18 + i);
 
 DatumWriter  userDatumWriter = new  SpecificDatumWriter(StudentAvro.class);
 DataFileWriter  dataFileWriter = new  DataFileWriter(userDatumWriter);
 dataFileWriter.create(student.getSchema() new File(“student/student“+ i +“.avro“));
 dataFileWriter.append(student);
 dataFileWriter.close();
 }
 }
 
 public static byte [] serializeAsBytes() throws IOException {
 StudentAvro student = new StudentAvro();
 student.setName(“小明“);
 student.setSex(“女“);
 student.setAge(18);
 List interests = new ArrayList();
 interests.add(“吃饭“);
 interests.add(“睡觉“);
 interests.add(“打豆豆“);
 student.setInteret(interests);
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 DatumWriter  userDatumWriter = new  SpecificDatumWriter(StudentAvro.class);
 DataFileWriter  dataFileWriter = new  DataFileWriter(userDatumWriter);
 dataFileWriter.create(student.getSchema() baos);
 dataFileWriter.append(student);
 dataFileWriter.close();
 return baos.toByteArray();
 }
 
 public static byte [] serializeAsBytes(int times) throws IOException {
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 DatumWriter  userDatumWriter = new  SpecificDatumWriter(StudentAvro.class);
 DataFileWriter  dataFileWriter = new  DataFileWriter(userDatumWriter);
 dataFileWriter.create(new StudentAvro().getSchema() baos);
 for(int i = 0; i < times; i+

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-08-18 15:14  rpc-protocal\
     文件        1081  2017-08-18 11:03  rpc-protocal\.classpath
     文件         564  2017-08-17 18:00  rpc-protocal\.project
     目录           0  2016-11-21 13:23  rpc-protocal\.settings\
     文件         119  2016-11-21 13:23  rpc-protocal\.settings\org.eclipse.core.resources.prefs
     文件         736  2016-11-21 13:25  rpc-protocal\.settings\org.eclipse.jdt.core.prefs
     文件          90  2016-11-21 13:23  rpc-protocal\.settings\org.eclipse.m2e.core.prefs
     目录           0  2017-08-22 17:03  rpc-protocal\doc\
     文件         512  2017-08-22 17:09  rpc-protocal\doc\summary
     文件         152  2017-08-22 14:45  rpc-protocal\doc\thrift
     文件        5085  2017-08-22 14:47  rpc-protocal\doc\tutorial.thrift
     目录           0  2017-08-22 15:06  rpc-protocal\lib\
     文件    12527920  2017-08-18 11:25  rpc-protocal\lib\avro-tools-1.7.7.jar
     文件     2401901  2017-08-18 09:48  rpc-protocal\lib\protobuf-2.5.0.tar.gz
     文件     5642240  2017-08-22 14:55  rpc-protocal\lib\thrift-0.10.0.exe
     文件        1664  2017-08-22 15:24  rpc-protocal\pom.xml
     目录           0  2016-11-21 13:23  rpc-protocal\src\
     目录           0  2016-11-21 13:33  rpc-protocal\src\main\
     目录           0  2017-08-18 13:55  rpc-protocal\src\main\java\
     目录           0  2016-11-21 13:23  rpc-protocal\src\main\java\com\
     目录           0  2016-11-21 13:23  rpc-protocal\src\main\java\com\topsec\
     目录           0  2017-08-22 15:27  rpc-protocal\src\main\java\com\topsec\trd\
     文件        4563  2017-08-18 15:39  rpc-protocal\src\main\java\com\topsec\trd\AVRO.java
     文件         107  2017-08-17 18:14  rpc-protocal\src\main\java\com\topsec\trd\Main.java
     文件        1656  2017-08-22 15:40  rpc-protocal\src\main\java\com\topsec\trd\ProtoBuf.java
     文件       11662  2017-08-18 14:10  rpc-protocal\src\main\java\com\topsec\trd\StudentAvro.java
     文件       32509  2017-08-18 11:43  rpc-protocal\src\main\java\com\topsec\trd\StudentProto.java
     文件       27196  2017-08-22 15:04  rpc-protocal\src\main\java\com\topsec\trd\StudentThrift.java
     文件        1453  2017-08-22 17:05  rpc-protocal\src\main\java\com\topsec\trd\Thrift.java
     目录           0  2017-08-22 17:03  rpc-protocal\src\main\resource\
     文件         365  2017-08-18 14:10  rpc-protocal\src\main\resource\student.avsc
............此处省略55个文件信息

评论

共有 条评论