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

什么是网络营销效果评估seo优化易下拉霸屏

什么是网络营销效果评估,seo优化易下拉霸屏,门户网站集约化建设,做一个公众号多少钱背景 前面曾体验过通过零代码、可视化、拖拉拽的方式快速完成了从 MySQL 到 ClickHouse 的数据迁移#xff0c;但是在实际生产环境#xff0c;我们在迁移到目标库之前还需要做一些过滤和转换工作#xff1b;比如#xff0c;在诗词数据迁移后#xff0c;发现原来 MySQL 中…背景 前面曾体验过通过零代码、可视化、拖拉拽的方式快速完成了从 MySQL 到 ClickHouse 的数据迁移但是在实际生产环境我们在迁移到目标库之前还需要做一些过滤和转换工作比如在诗词数据迁移后发现原来 MySQL 中的诗词数据都是繁体字这就导致在直接迁移到 ClickHouse 做统计分析时生成的图表展示也是繁体中文的对于不熟悉繁体中文的用户来说影响体验。 今天就借助 ETLCloud 提供的自定义规则能力同时调用第三方 jar 包 opencc4j 完成繁体中文到简体中文的转换具体来说将诗词数据库从 MySQL 迁移到 ClickHouse 并在入库之前完成数据清洗转换工作完成数据表中标题、作者与内容等字段的繁体中文到简体中文的转换。 数据集说明 MySQL 数据库中的库表 poetry 结构如下数据量 311828 。 CREATE TABLE poetry (id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,title VARCHAR(150) NOT NULL COLLATE utf8mb4_unicode_ci,yunlv_rule TEXT NOT NULL COLLATE utf8mb4_unicode_ci,author_id INT(10) UNSIGNED NOT NULL,content TEXT NOT NULL COLLATE utf8mb4_unicode_ci,dynasty VARCHAR(10) NOT NULL COMMENT 诗所属朝代S-宋代, T-唐代 COLLATE utf8mb4_unicode_ci,author VARCHAR(150) NOT NULL COLLATE utf8mb4_unicode_ci,PRIMARY KEY (id) USING BTREE ) COLLATEutf8mb4_unicode_ci ENGINEInnoDB AUTO_INCREMENT311829;ClickHouse 中的建表语句 CREATE TABLE poetry.poetry (id Int32, title String, yunlv_rule String, author_id Int32, content String, dynasty String, author String) ENGINE MergeTree() PRIMARY KEY id ORDER BY id SETTINGS index_granularity 8192工具选型 ClickHouse数据库Docker部署ETLCloudV2.2ETLCloud的库表输入组件、数据清洗转换组件、钉钉消息组件 Note这里选择的是社区版采用 Docker 部署的方式轻量、快速启动 docker pull ccr.ccs.tencentyun.com/restcloud/restcloud-etl:V2.2 。 创建应用与流程 先创建应用因为后面的规则是跟着应用走的填写基本的应用配置信息。 接着创建数据流程填写信息即可。 自定义规则 在真正开始数据迁移前先准备好清洗转换规则到迁移入库时直接配置选择定义好的规则即可。 进入应用配置——新增规则分类——新增自定义规则 编写从繁体中文到简体中文的规则代码其中类名是自动生成的先是引入了转换的工具类 ZhConverterUtil 然后调用其静态方法即可编写完毕后点击“编译并保存”正常的话会提示编译成功~。 package cn.restcloud.etl.rule.ext;import org.apache.commons.lang3.StringUtils; import org.bson.Document; import java.sql.Connection; import cn.restcloud.framework.core.context.*; import cn.restcloud.etl.base.IETLBaseEvent; import cn.restcloud.etl.base.IETLBaseProcessEngine; import cn.restcloud.framework.core.util.*; import cn.restcloud.framework.core.util.db.rdb.*; import cn.restcloud.etl.rule.service.ETLProcessRuleUtil; import java.util.*; import com.github.houbb.opencc4j.util.ZhConverterUtil;/** indoc是一个map的包装对像内部结构为key-value 被流程的Java规则节点调用时,返回0表示终止流程,返回1表示成功,其中indoc为流数据,fieldId为空值 当被字段绑定运行时fieldId为绑定的字段Id,流入数据的每一行作为indoc对像传入本方法执行一次 params为绑定规则时填写的传入的参数格式为JSON字符串 繁体中文转为简体中文 2023-07-07 10:58:21 admin */ public class ETL_64a77f4d955fc70345c4041a implements IETLBaseEvent {Overridepublic String execute(IETLBaseProcessEngine engine, Document modelNodeDoc, Document indoc,String fieldId,String params) throws Exception {//ListDocument dataDocsengine.getData(indoc); //上一节点传入的数据流(仅作为Java规则节点运行可用)Document paramsDocETLProcessRuleUtil.paramsToDocument(params);//规则参数转为一个map包装对像key-valueString paramsValueDocumentUtil.getString(paramsDoc,参数id); //读取规则选中时输入的自定义参数值String fieldValueindoc.getString(fieldId); //获取规规绑定的字段Id获取字段值PrintUtil.o(fieldId取到的值为fieldValue); //PrintUtil.o();可以打印变量到控制以日志中//TODO 对fieldValue进行自定义处理String result ZhConverterUtil.toSimple(fieldValue);PrintUtil.o(转换后的值为result); indoc.put(fieldId,result); //把新的值覆盖旧字段的值return 1;} }Note这里需要注意的是我们用到了第三方的 Jar 包 opencc4j 来完成这一工作那么 ETLCloud 如何知道要怎样调用自定义的工具类的方法呢这就需要我们将第三方的 jar 放到 ETLCloud 的部署目录下 /usr/tomcat/webapps/ROOT/WEB-INF/lib 。 [rootetl ~]# docker cp /opt/opencc4j-1.8.1.jar de63b29c71d0:/usr/tomcat/webapps/ROOT/WEB-INF/libSuccessfully copied 513kB to de63b29c71d0:/usr/tomcat/webapps/ROOT/WEB-INF/lib然后点击版本更新平台提示以下内容 平台配置(Successfully registered (0) java bean, update (2) java bean information!, API升级结果: 从Jar文件中更新或注册(0)个服务、(0)个输入参数、(0)个输出编码! ), ETL配置(Successfully registered (0) java bean, update (0) java bean information!, API升级结果: 从Jar文件中更新或注册(2)个服务、(0)个输入参数、(0)个输出编码! ) 迁移实践 接下来通过可视化的配置与操作完成从 MySQL 到 ClickHouse 的诗词数据快速转换与迁移操作。 数据源配置 配置SourceMySQL 选择 MySQL 填写IP: 端口以及用户密码信息。 测试连接成功~ 配置SinkClickHouse 数据源选择之前文章迁移的 ClickHouse 诗词数据库。 可视化配置流程 创建好流程后可以通过点击“流程设计”按钮进入流程可视化的配置页面。 库表输入MySQL 在左侧的输入组件中选择“库表输入”拖至中央的流程绘制区双击进入配置阶段。 第一步选择我们配置好的 MySQL 数据源可以载入 MySQL 中已有的表。 第二步可以根据选择的表生成 SQL 语句。 第三步可从表中读取到各个字段的定义支持添加、删除字段。 第四步根据 SQL 语句自动进行了数据预览这样的一个检查操作保证了后续操作的正常执行。 数据清洗转换opencc4j实现繁体中文转简体中文 在对字段配置规则前先熟悉下 opencc4j 在后端开发中的用法。 引入依赖 !-- Opencc4j 支持中文繁简体转换 --dependencygroupIdcom.github.houbb/groupIdartifactIdopencc4j/artifactIdversion1.8.1/version/dependency编码转换 import com.github.houbb.opencc4j.util.ZhConverterUtil; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; SpringBootTest class SpringbootOpencc4jApplicationTests {// 繁体中文转简体中文Testvoid toSimple(){String original 李白乘舟將欲行忽聞岸上踏歌聲。|桃花潭水深千尺不及汪倫送我情。;String result ZhConverterUtil.toSimple(original);System.out.println(result);Assertions.assertEquals(李白乘舟将欲行忽闻岸上踏歌声。|桃花潭水深千尺不及汪伦送我情。, result);}// 簡體中文轉繁體中文Testvoid toTraditional(){String original 李白乘舟将欲行忽闻岸上踏歌声。|桃花潭水深千尺不及汪伦送我情。;String result ZhConverterUtil.toTraditional(original);Assertions.assertEquals(李白乘舟將欲行忽聞岸上踏歌聲。|桃花潭水深千尺不及汪倫送我情。, result);} }在左侧的数据转换组件中选择“数据清洗转换”拖至中央的流程绘制区双击进入配置阶段。 因为源数据表中的 title 、 content 以及 author 这三个字段值是繁体中文所以针对这三个字段设置自定义的规则繁体中文转为简体中文下一步点击保存对所有数据记录进行转换即可。 库表输出ClickHouse 在左侧的输出组件中选择“库表输出”拖至中央的流程绘制区双击进入配置阶段。 第一步选择我们配置好的ClickHouse数据源。 第二步可从表中读取到各个字段的定义支持添加、删除字段、绑定规则。 最后通过 流程线 将开始、库表输入、数据清洗转换、库表输出、结束组件分别连接起来数据通过自定义的规则转换与迁移的可视化配置便告完成Done~ 运行流程 保存流程运行流程之后可查看对应的流程日志与转换日志并可视化监控迁移进度。 问题记录 数据转换过程报错 问题描述 在 ETLCloud 的日志中发现错误 Caused by: java.lang.ClassNotFoundException: com.github.houbb.heaven.support.instance.impl.Instances 问题分析在 SpringBoot 结合 IDEA 与 Maven 中开发时我们仅仅引入了一个依赖 opencc4j 但是实际上观察外部依赖库时发现还有另外两个依赖 heaven 与 nlp-common 。 解决方法将 opencc4j-1.8.1.jar 、 heaven-0.2.0.jar 与 nlp-common-0.0.5.jar 这个三个 jar 包都上传到 ETLCloud 的 /usr/tomcat/webapps/ROOT/WEB-INF/lib 目录下重新更新 ETLCloud 配置、重启 ETLCloud 服务。 [rootetl ~]# docker cp /opt/heaven-0.2.0.jar de63b29c71d0:/usr/tomcat/webapps/ROOT/WEB-INF/libSuccessfully copied 304kB to de63b29c71d0:/usr/tomcat/webapps/ROOT/WEB-INF/lib [rootetl ~]# docker cp /opt/nlp-common-0.0.5.jar de63b29c71d0:/usr/tomcat/webapps/ROOT/WEB-INF/libSuccessfully copied 1.97MB to de63b29c71d0:/usr/tomcat/webapps/ROOT/WEB-INF/libNote Jar 包可以从阿里云镜像仓库查找下载 https://developer.aliyun.com/mvn/search 或者到本地开发环境的的 .m2\repository\com\github\houbb 目录下查找。 总结 以上介绍了如何通过 ETLCloud 强大的自定义规则功能完成对数据的清洗转换功能实现了表字段值从繁体中文到简体中文的转换以下两点要注意 自定义规则是附属于某个流程的第三方的Jar包依赖在数量上要完整。 Reference ETLCloud官方文档ClickHouse官方文档opencc4j官方文档 If you have any questions or any bugs are found, please feel free to contact me. Your comments and suggestions are welcome!
http://www.dnsts.com.cn/news/97954.html

相关文章:

  • 地区网站建设高淳seo外包公司
  • 建设图书馆网站企业网站系统源码
  • 网站上传到虚拟主机网站备案为什么要闭站
  • 漯河网站建设服务公司东莞微网站
  • 企业网站建设属于什么费用制作公司网页价钱
  • 什么是交互式网站开发企业公司建设网站
  • 义乌网站建设zisou8wordpress中运行程序
  • 大连金普新区城乡建设局网站网站是否上线
  • 用jsp做网站的技术路线网站seo分析
  • c 做视频网站400电话实名制认证网站
  • 网站的头尾和导航的公用文件打代码做网站的软件
  • 如何做网站logo 设置平滑聚名网怎么样
  • 莒县建设局官方网站cms网站源码
  • wordpress的安装过程爱站seo
  • readme.md做网站自动跳转到wap网站
  • 国外比较好的资源网站外国黄冈网站推广平台
  • 网站开发方式有哪些揭阳网站制作机构
  • 网站域名最便宜这些奥运新闻得了中国新闻奖
  • wordpress 视频网站网站集约化建设 要求
  • 网站建设方案范文8篇网站开发客户
  • 群晖ds1817做网站小程序api抓取
  • 网站建设厘金手指排名十九wordpress sensei插件
  • 企业门户网站设计建设与维护如何挖掘和布局网站关键词
  • 龙华网站建设的软件竞价培训课程
  • 手机网站 怎么开发wordpress 文章图片
  • 怎样推广自己做的网站wordpress主题演示数据库
  • 广州网站建设易得建设网校
  • 中文域名转码网站成都网站建设与维护
  • 网站规划模板广州建设工程领域平台登录
  • 厦门网站建设 首选猴子网络寻甸马铃薯建设网站