Flink系列之:Table API Connectors之Raw Format
- 一、Raw Format
- 二、示例
- 三、Format 参数
- 四、数据类型映射
一、Raw Format
- Raw format 允许读写原始(基于字节)值作为单个列。
- 注意: 这种格式将 null 值编码成 byte[] 类型的 null。这样在 upsert-kafka 中使用时可能会有限制,因为 upsert-kafka 将 null 值视为 墓碑消息(在键上删除)。因此,如果该字段可能具有 null 值,我们建议避免使用 upsert-kafka 连接器和 raw format 作为 value.format。
- Raw format 连接器是内置的。
二、示例
例如,你可能在 Kafka 中具有原始日志数据,并希望使用 Flink SQL 读取和分析此类数据。
47.29.201.179 - - [28/Feb/2019:13:17:10 +0000] "GET /?p=1 HTTP/2.0" 200 5316 "https://domain.com/?p=1" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "2.75"
下面的代码创建了一张表,使用 raw format 以 UTF-8 编码的形式从中读取(也可以写入)底层的 Kafka topic 作为匿名字符串值:
CREATE TABLE nginx_log ( log STRING ) WITH ( 'connector' = 'kafka', 'topic' = 'nginx_log', 'properties.bootstrap.servers' = 'localhost:9092', 'properties.group.id' = 'testGroup', 'format' = 'raw' )
然后,你可以将原始数据读取为纯字符串,之后使用用户自定义函数将其分为多个字段进行进一步分析。例如 示例中的 my_split。
SELECT t.hostname, t.datetime, t.url, t.browser, ... FROM( SELECT my_split(log) as t FROM nginx_log );
相对应的,你也可以将一个 STRING 类型的列以 UTF-8 编码的匿名字符串值写入 Kafka topic。
三、Format 参数
参数 是否必选 默认值 类型 描述 format 必选 (none) String 指定要使用的格式, 这里应该是 ‘raw’。 raw.charset 可选 UTF-8 String 指定字符集来编码文本字符串。 raw.endianness 可选 big-endian String 指定字节序来编码数字值的字节。有效值为’big-endian’和’little-endian’。 四、数据类型映射
下表详细说明了这种格式支持的 SQL 类型,包括用于编码和解码的序列化类和反序列化类的详细信息。
Flink SQL类型 值 CHAR / VARCHAR / STRING UTF-8(默认)编码的文本字符串。 编码字符集可以通过 ‘raw.charset’ 进行配置。 BINARY / VARBINARY / BYTES 字节序列本身。 BOOLEAN 表示布尔值的单个字节,0表示 false, 1 表示 true。 TINYINT 有符号数字值的单个字节。 SMALLINT 采用big-endian(默认)编码的两个字节。字节序可以通过 ‘raw.endianness’ 配置。 INT 采用 big-endian (默认)编码的四个字节。字节序可以通过 ‘raw.endianness’ 配置。 BIGINT 采用 big-endian (默认)编码的八个字节。字节序可以通过 ‘raw.endianness’ 配置。 FLOAT 采用 IEEE 754 格式和 big-endian (默认)编码的四个字节。字节序可以通过 ‘raw.endianness’ 配置。 DOUBLE 采用 IEEE 754 格式和 big-endian (默认)编码的八个字节。字节序可以通过 ‘raw.endianness’ 配置。 RAW 通过 RAW 类型的底层 TypeSerializer 序列化的字节序列。
猜你喜欢
- 14天前(万豪酒店 珠海)万豪酒店品牌启航珠海金湾,续写大湾区拓展新篇
- 14天前(杭州西湖区万怡酒店正式开业了吗)杭州西湖区万怡酒店正式开业
- 14天前(四川推进世界重要旅游目的地建设工作)四川推进世界重要旅游目的地建设
- 14天前(甘州区文化旅游局)2025甘津文旅资源对接推介会在兰州举办
- 14天前(071 圣安东尼奥)秋季 圣安东尼奥交出了私藏活动清单
- 14天前(苏梅岛普吉岛哪个好玩)苏梅岛金普顿基塔蕾度假酒店推出家庭度假套餐
- 14天前(锦州新增两家国家aaa级旅游景区有哪些)锦州新增两家国家AAA级旅游景区
- 14天前(大黄山景区高质量发展联盟成立多少年)大黄山景区高质量发展联盟成立
- 14天前(新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇)新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇
- 14天前(芜宣机场国际航班)新华丝路:芜宣机场开通至越南首都河内的国际货运航线
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章