AvroRecordSetWriter
时间:2022-07-24
本文章向大家介绍AvroRecordSetWriter,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
AvroRecordSetWriter
编辑人(全网同名):酷酷的诚 邮箱:zhangchengk@foxmail.com
描述
将数据以avro格式输出。
属性配置
在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。(1.11.4版本)
状态管理
此组件不存储状态。
限制
无。
系统资源方面的考虑
无
深入讲解
在NIFI的Controller Service中,有一批以Reader、Writer结尾的读写器。AvroRecordSetWriter顾名思义,就是写avro格式数据的。
在属性配置里Cache Size很简单,配置缓存大小,缓存schema信息的。
对于Schema Write Strategy,有很多选项,他们都是跟AvroReader的Schema Access Strategy
一一对应的。指定将schema信息写到输出流文件的哪个位置
- Embed Avro Schema 内置schema,将schema信息写到avro数据里
- Set 'schema.name' Attribute
将schema信息写到输出流的属性
schema.name
中 - Set 'avro.schema' Attribute
将schema信息写到输出流的属性
avro.schema
中 - HWX Schema Reference Attributes
将schema的描述信息写到流文件中的三个属性值中:
schema.identifier
,schema.version
,schema.protocol.version
- HWX Content-Encoded Schema Reference
将schema的描述信息写到流内容中,一个byte指明
protocol version
,紧跟着8个byte指明schema identifier
,最后是4个byte指明schema version
. 如果使用以上这两个配置,还得到官网上详情了解学习https://github.com/hortonworks/registry - Confluent Schema Registry Reference 同上,查询schema所需要的信息编码内置到了流文件内容当中,详细还需到官网了解学习http://docs.confluent.io/current/schema-registry/docs/serializer-formatter.html
- Do Not Write Schema 不写shemale信息
对于 Schema Access Strategy ,写avro数据也需要schema信息,此配置指明如何获取schema信息。
- Use 'Schema Name' Property
使用
Schema Name
配置,同时必须指定一个Schema Registry
控制服务器。Schema Name
用来指定schema的名称,然后提供给Schema Registry
配置的控制服务器使用来获取schema。 - Inherit Record Schema 上游流文件数据内置了schema信息
- Use 'Schema Text' Property
这个也非常简单,手动指定一个schema。你可以直接在
Schema Text
的value里编辑schema文本,也可以在流文件属性或者变量注册表指定一个叫avro.schema的schema文本。当然,avro.schema是人为定义的,可修改。
文章有帮助的话,小手一抖点击在看,并转发吧。谢谢支持哟 (*^__^*)
- css3 UI 修饰——回顾
- Windows Phone 7实战 第一天 设计启动页面和应用程序图标
- css3响应式布局设计——回顾
- Windows Phone 7 实战第二天 二维码QRcode
- Python-面向对象编程
- SQL Server 2012将与Hadoop无缝集成
- 系统性能优化一例
- Android中include标签的使用
- css3弹性盒子模型——回顾。
- confluence与jira账号对接、查看到期时间及问题总结
- 物联网、人工智能时代来临五大隐忧不可不提防
- Contact Manager Web API 示例[1]CRUD 操作
- 3个域名交易:fde.com11万被秒
- 新手指南OpenStack:Nova的基础知识
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Android10的分区存储机制(Scoped Storage)适配教程
- Android自定义View实现可拖拽缩放的矩形框
- Android实现掷骰子效果
- Android实现侧滑菜单DrawerLayout
- Android :okhttp+Springmvc文件解析器实现android向服务器上传照片
- 纯小白都能看懂的《单个神经元》、《随机梯度下降》、《逻辑与》
- 使用Flutter开发的抖音国际版实例代码详解
- vue-cropper裁剪图片
- Android 开发使用PopupWindow实现弹出警告框的复用类示例
- python初学者笔记—关于 random 和 time 模块
- Android自定义日历效果
- Android 开发使用PopupWindow实现加载等待界面功能示例
- Android自定义控件实现圆形进度CircleProgressBar
- Android Studio如何查看源码并调试的方法步骤
- Flutter中mixin的使用详解