当前位置: 首页 > news >正文

俄文企业网站建设宁波网站推广方案

俄文企业网站建设,宁波网站推广方案,郑州微信网站,宠物论坛网站策划书Flink CDC 自定义函数处理 SQLServer XML类型数据方案 1. 背景 因业务使用SQLServer数据库,CDC同步到doris 数仓。对于SQLServer xml类型,doris没有相应的字段对应, 可以使用json来存储xml数据。需要进行一步转换。从 flink 自定义函数入手…

Flink CDC 自定义函数处理 SQLServer XML类型数据方案

1. 背景

因业务使用SQLServer数据库,CDC同步到doris 数仓。对于SQLServer xml类型,doris没有相应的字段对应,

可以使用json来存储xml数据。需要进行一步转换。从 flink 自定义函数入手。

2. 解决方案

  • SQLServer xml 字段如下
<items><item lng="zh-CN" value="银行货到付款" /><item lng="en" value="Bank transfer on delivery" />
</items>
  • doris 存储转换后的json内容
{"item": [{"lng": "zh-CN","value": "银行货到付款"},{"lng": "en","value": "Bank transfer on delivery"}]
}

在这里插入图片描述

  • flink 自定义函数代码

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import org.apache.flink.table.functions.ScalarFunction;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;/*** 将XML转换为JSON*/
public class XmlToJson extends ScalarFunction {private Logger log = LoggerFactory.getLogger(XmlToJson.class);/*** 创建XmlMapper对象用于解析XML*/private final XmlMapper xmlMapper = new XmlMapper();public String eval(String xml) {// 将XML字符串解析为JsonNode对象JsonNode jsonNode = null;try {jsonNode = xmlMapper.readTree(xml);} catch (JsonProcessingException e) {log.error("XML解析失败", e);}// 将JsonNode对象转换为JSON字符串return jsonNode.toString();}
}
  • doris 表
-- GName 为json格式
CREATE TABLE `table1` (`ID` int(11) NOT NULL COMMENT '字典表统一ID',`Name` varchar(600) NULL COMMENT '统一进行字典命名',`GName` json NULL COMMENT '采用xml存储多语言',
) ENGINE=OLAP
UNIQUE KEY(`ID`)
COMMENT '测试表'
DISTRIBUTED BY HASH(`ID`) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"is_being_synced" = "false",
"storage_format" = "V2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false"
);
  • 注册自定义函数 sql调用转换
create temporary function xml_to_json as 'com.zfb.flink.udf.XmlToJson';INSERT INTO flink_doris (`ID`,`Name`, `GName`)
SELECT 
`ID`,`Name`, xml_to_json(`GName`), `TypeID`
FROM table1;
  • doris json使用
selectjson_extract_string(GName, '$.item[0].value') as cn_name,*
fromtable1;  
http://www.ds6.com.cn/news/5471.html

相关文章:

  • wordpress 前台英文seo发包技术教程
  • 江门做网站seo的seo文章生成器
  • 个人网站设计论文的结论广告软文范例
  • 问佛教网站大师做早课烧香烛可以吗关键词优化多少钱
  • 网站开发 无代码无人在线观看高清视频单曲直播
  • 阜宁做网站的价格企业网络搭建方案
  • wordpress文章文件夹windows优化大师有毒吗
  • b2c网站建设 广州企业网络营销推广方法
  • 周到的做网站推广资讯
  • 深圳招聘网站哪个好目录型搜索引擎有哪些
  • html5网站开发价格上海网站seo策划
  • 福州做网站优化最近的新闻事件
  • 地产行业型网站开发东莞百度快速优化排名
  • 济南网站建设与优化外贸seo网站建设
  • 长沙官网网站建设网站营销方案
  • 国家疫情公布的网站永久免费自动建站
  • 苏州网站建设搭建百度关键字搜索排名
  • 张掖网站建设公司目前最新的营销方式有哪些
  • 快速做效果图的网站叫什么区别免费二级域名注册网站
  • wordpress upload_max_filesize网站推广优化外包公司
  • 自制网站地图怎么做湖南竞价优化哪家好
  • 大学 英文网站建设百度应用宝
  • 有关网站招标商务标书怎么做独立站
  • 网站建设销售销售流程关键词挖掘工具有哪些
  • 昆明电子商务网站建设网络推广和运营的区别
  • 做网站推广需要什么新站seo快速排名 排名
  • 网站关键词过多十种营销方法
  • 做京东商城网站网站代发外链
  • 昆明做网站的曼联vs曼联直播
  • 福州网站设计大概费用如何开发自己的小程序