这篇文章主要介绍Apache Avro数据的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!随着互联网高速的发展,云计算、大数据、人工智能AI、物联网等前沿技术已然成为当今时代主流的高新技术,诸如电商网站、人脸识别、无人驾驶、智能家居、智慧城市等等,不仅方面方便了人们的衣食住行,背后更是时时刻刻有大量的数据在经过各种各样的系统平台的采集、清晰、分析,而保证数据的低时延、高吞吐、安全性就显得尤为重要,Apache Avro本身通过Schema的方式序列化后进行二进制传输,一方面保证了数据的高速传输,另一方面保证了数据安全性,avro当前在各个行业的应用越来越广泛,如何对avro数据进行处理解析应用就格外重要,本文将演示如果序列化生成avro数据,并使用FlinkSQL进行解析。本文是avro解析的demo,当前FlinkSQL仅适用于简单的avr开发云主机域名o数据解析,复杂嵌套avro数据暂时不支持。本文主要介绍以下三个重点内容:如何序列化生成Avro数据如何反序列化解析Avro数据如何使用FlinkSQL解析Avro数据了解avro是什么,可参考apache avro官网快速入门指南了开发云主机域名解avro应用场景1、新建avro maven工程项目,配置pom依赖pom文件内容如下:注意:以上pom文件配置了自动生成类的路径,即
p
r
o
j
e
c
t
.
b
a
s
e
d
i
r
/
s
r
c
/
m
a
i
n
/
a
v
r
o
/
和
{project.basedir}/src/main/avro/和
project.basedir/src/main/avro/和{project.basedir}/src/main/java/,这样配置之后,在执行mvn命令的时候,这个插件就会自动将此目录下的avsc开发云主机域名 schema生成类文件,并放到后者这个目录下。如果没有生成avro目录,手动创建一下即可。2、定义schema使用JSON为Avro定义schema。schema由基本类型(null,boolean, int, long, float, double, bytes 和string)和复杂类型(record, enum, array, map, union, 和fixed)组成。例如,以下定义一个user的schema,在main目录下创建一个avro目录,然后在avro目录下新建文件 user.avsc :3、编译schema点击maven projects项目的compile进行编译,会自动在创建namespace路径和User类代码4、序列化创建TestUser类,用于序列化生成数据执行序列化程序后,会在项目的同级目录下生成avro数据user_generic.avro内容如下:至此avro数据已经生成。5、反序列化通过反序列化代码解析avro数据执行反序列化代码解析user_generic.avroavro数据解析成功。6、将user_generic.avro上传至hdfs路径7、配置flinkserver准备avro jar包将flink-sql-avro-*.jar、flink活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看-sql-avro-confluent-registry-*.jar放入flinkserver lib,将下面的命令在所有flinkserver节点执行同时重启FlinkServer实例,重启完成后查看avro包是否被上传hdfs dfs -ls /FusionInsight_FlinkServer/8.1.2-312005/lib8、编写FlinkSQL保存提交任务9、查看对应topic中是否有数据FlinkSQL解析avro数据成功。以上是“Apache Avro数据的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注开发云行业资讯频道!
本文从转载,原作者保留一切权利,若侵权请联系删除。
《Apache Avro数据的示例分析》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...