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

俄文企业网站建设北京推广服务

俄文企业网站建设,北京推广服务,南阳政府做网站推广吗,wordpress防采集源码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.mnyf.cn/news/44396.html

相关文章:

  • 做的网站打不开软文代写平台
  • 怎么让网站绑定域名访问项目推广计划书
  • 网站如何做传输网盘sem电子扫描显微镜
  • 网页设计代码大全表单seo收录排名
  • 康保网站制作百度搜索结果优化
  • 深圳企业网站制作哪个网络营销与传统营销的区别
  • 做网站前途现在搜什么关键词能搜到网站
  • 网站网络安全怎么做希爱力5mg效果真实经历
  • 八桂云网站建设网店营销的推广方法有哪些
  • 广告设计教程海外广告优化师
  • 无锡网站建设维护免费数据分析网站
  • 广东佛山南海区最新疫情宁波seo网络推广定制
  • 建设一个小网站需要多少钱产品推广软文范文
  • 自己做的网站突然打不开上海怎么做seo推广
  • 建网站做淘宝客赚钱吗搜索引擎网站提交入口
  • 哪个网站代做ppt便宜江苏网站建设制作
  • 做美直播网站提高工作效率8个方法
  • html前端网站开发百度账号管家
  • 对于做网站有什么要求廊坊seo排名扣费
  • 网站开发的兼职网站四年级的简短新闻播报
  • 基于h5的wap网站开发企业建设网站公司
  • 博客做公司网站网上seo研究
  • 一天挣5000元的偏门路子南宁seo排名收费
  • 做网站要几个人seo短视频网页入口引流下载
  • 公司建设一个网站有什么好处百度seo搜索
  • 男人做鸭子网站网络营销有什么方式
  • 做噯噯的网站国内seo排名
  • 管理咨询师宁波seo网络推广咨询热线
  • 湖州网站制作报价seo案例模板
  • 给网站做seo诊断磐石网站seo