Avro文件操作示例代码
来源:互联网 发布:马自达cx4 知乎 编辑:程序博客网 时间:2024/05/21 14:41
- 从avsc中读取schema
Schema avroSchema = new Schema.Parser().parse(new File("src/main/resources/***.avsc"));
- 从Sequence file中反序列化avro数据
Path sequencePath = new Path("hdfs://ip:9000/xx.file");SequenceFile.Reader sequenceReader = new SequenceFile.Reader(conf, SequenceFile.Reader.file(sequencePath)); int i = 0; try { Text key = new Text(); BytesWritable value = new BytesWritable(); GenericRecord record; while (sequenceReader.next(key, value)) { i++; ByteArrayInputStream in = new ByteArrayInputStream(value.getBytes()); BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(in, null); DatumReader<GenericRecord> avroReader = new SpecificDatumReader<>(avroSchema); record = avroReader.read(null, decoder); } } finally { IOUtils.closeStream(sequenceReader); }
- 读取hdfs上的avro文件的schema和数据
public static void readAvroFromHDFS(String pathstr) throws IOException { Path path = new Path(pathstr); Configuration config = new Configuration(); // make this your Hadoop env config SeekableInput input = new FsInput(path, config); DatumReader<GenericRecord> reader = new GenericDatumReader<GenericRecord>(); FileReader<GenericRecord> fileReader = DataFileReader.openReader(input, reader); Schema avroSchema = fileReader.getSchema(); System.out.println(avroSchema); for (GenericRecord datum : fileReader) { System.out.println(datum); } fileReader.close(); System.exit(0); }
阅读全文
0 0
- Avro文件操作示例代码
- java操作文件示例代码
- java文件操作代码示例
- JAVA文件操作类和文件夹的操作代码示例
- 一段 js操作xml文件 的示例代码
- Python常见文件操作的函数示例代码
- Python常见文件操作的函数示例代码
- ios操作文件和字符串的示例代码
- Python(五)文件操作基础代码示例
- AVRO文件结构分析
- spark 读取avro文件
- avro 文件的使用
- JAVA文件操作示例
- JS文件操作示例
- JAVA文件操作示例
- shell 操作文件示例
- python文件操作示例
- CFile文件操作示例
- Servlet编程基础
- Hbase集群搭建
- [eclipse] tips
- Unity Mecanim动画的实现(七):动画曲线
- Apple Tree
- Avro文件操作示例代码
- error: protocol fault (couldn't read status): Connection reset by peer
- Mac安装MySQL初始密码设置
- 深入理解mybatis原理(十一) Mybatis插件原理之实现细节
- 堆的创建,插入,删除
- java 为什么要用封装类
- qte开发环境配置
- oracle同义词
- 深入理解mybatis原理(十二) mybatis深入理解之#与$区别