- 博客(524)
- 资源 (1)
- 收藏
- 关注
原创 python脚本将mysql数据写入doris
你可以看到varchar在doris中变成了4倍,utf8mb4 编码(这是 MySQL 默认推荐的 UTF-8 实现,支持完整的 Unicode 字符集,包括表情符号等),flink采取了最坏的保守策略。扩展后,数据写入正常了,于是我又验证了,反复执行,看看有没有问题。结果在doris中出现了两条数据。但实际写入,报下面的错误,看来错误原因应该是mysql的字节与doris的字节计算不一样。这个就是搞技术最麻烦的地方,提示的异常,有没有具体信息,根本就不知道原因是啥,要猜。连接的FE,数据写入时正常的,
2025-03-01 15:32:15
453
2
原创 superset
开源的BI工具还是选择apache的superset,2021年的是用过davince,结果2023年就不维护了,dataart也是一样的到2023年也没人维护了,dataease国产的人家也要吃饭,社区版也有限制。因而选择用python开发的superset成了唯一的选择了。
2025-02-23 12:11:58
448
原创 flink-cdc同步数据到doris中
此时任务可以正常执行了,数据也可以正常过来了。可以看到下面,要获取acc的全部表,但是有一些是做了分表,需合并到其中doris的一张表里面,这个规则是有效的,开始。从下面的yml脚本可以看到,并没有doris中创建eayc_user表,应该是flink-cdc自动创建的。如果mysql的表没有主键,则报下面的错误,这个时候就需要修正原mysql表数据。默认也是1,我也改成了8,启动之后,没有报下面的错误,但是之前执行的任务没有了。默认为1,slot不够,就报下面的错误,因为是16C32G,于是我改成了8,
2025-02-19 19:58:44
1085
原创 子平八字生成
经过测试518400条数据,103.63MB数据,耗费5~6ms中写入到数据库。这里采用的jdk17,我将原来jdk1.8的代码重写了。
2025-01-08 14:29:34
208
原创 rabbitmq——岁月云实战笔记
生产者并不是直接将消息投递到queue,而是发送给exchange,由exchange根据type的规则来选定投递的queue,这样消息设计在生产者和消费者就实现解耦。rabbitmq会给没有type预定义一些exchage,而实际我们却应该使用自己定义的。
2025-01-06 19:54:56
1048
原创 生产环境迁移——harbor篇
这些年环境迁移干了很多,但是没有总结,想想还是记录一下,以前是下属做,自己统筹就行,现在就剩下孤家寡人了,只好都自己做。还是完整记录下来,供有缘人参考。其实我也是搭了个草台班子。
2024-12-17 22:07:06
974
原创 Mysql事务和锁原理——岁月云实战笔记
mysql通过WAL(Write Ahead Log,写前日志)来实现。如果事务提交了,但buffer pool中脏页没有刷盘,则从redo日志恢复。MySQL InnoDB 存储引擎中,即使事务尚未提交,某些情况下缓冲池(Buffer Pool)中的脏页也可能被刷写到磁盘。InnoDB 使用多个后台线程来管理缓冲池中的页面刷新,包括和。这些线程会定期检查缓冲池,将脏页刷新到磁盘,以确保缓冲池中有足够的干净页面用于新的读取操作。这个过程并不依赖于事务是否已经提交,这个时候就可以通过undo日志来保证。
2024-12-13 08:47:23
834
原创 Mysql索引原理及优化——岁月云实战笔记
根据这个博主的视频学习,对现在的项目中mysql进行优化,我要向这个博主致敬,之前应用居多,理论所知甚少,于是将学习到东西,应用下来,看看是否有好的改观。
2024-12-08 13:33:55
1065
原创 prometheus
(1)进入“Data sources”页面,路径:HOME —> Connections —> Data sources。(7)进入dashboard,路径:HOME —> Dashboards。在Dashboards页面,点击“New —> Import”按钮。(2)点击“Add new data source”按钮。在“Import dashboard”页面,导入看板文件。(3)选择Prometheus作为数据源。(5)点击“Save & test”按钮。(8)打开“看板导入”页面。
2024-12-05 14:15:27
343
原创 itextpdf打印A5的问题
但实际打印出来却有问题,可以看到打印的不全。看来问题就是因为打印机将你放入的A5的纸张当成了A4,看似解决方案是将里面的内容进行旋转,但是纸张不旋转问题岂不是解决了。如何实现却成了问题。使用A5打印的时候,再生成pdf是没有问题的。下面做了一个测试,在打印机中,使用A5的纸张横向放入,因为是家用打印机,A5与A4是同一个口,因此只能这么放。使用itextpdf生成pdf,在浏览器中预览pdf是正常的。尝试了很多种方法,都没有生效,网上的案例太少了。通过浏览器自带的打印预览,貌似也米有问题。
2024-11-07 10:18:01
629
原创 filebeat+elasticsearch+kibana日志分析
从网关中下载k8s的配置,指定es和kibana的配置通过kibana查询可以查询到日志了,但此时还不知道具体怎么用。
2024-10-30 13:00:12
1248
原创 产品设计——应用架构
我的理解应用架构是业务架构的落地,微服务架构下平台的应用架构设计,实质是根据业务来明确应用微服务的边界。因此业务不同,应用架构图也不同。但是基本框架应该相差不大。其划分原则莫过于高内聚、低耦合。这个跟接口设计是一致的。我们总是想降低业务之间的关联程度。简单的道理,就是发布一个微服务,尽量不要少影响业务。业务耦合性很强,维护起来成本大,发布上线对用户使用也是糟心。其分层原则则是根据水平、垂直维度进行划分。水平和垂直的划分,总的有个标准。
2024-10-13 11:47:29
663
原创 drools规则引擎
这个大多搜索导的都是把规则放到一个文件,这个是基础,但是实际应用就不太方便。如果你使用的jdk1.8,那么对应的drools版本为7.x。
2024-09-24 14:07:36
570
原创 protege构建子平知识图谱本体工程
学习过面向对象的工程师,对这个应该容易理解,类是相似实体的抽象。在enties中定义六十甲子、天干、地支三个class给六十甲子、天干、地支定义个体实例,就是类的实例化。对象属性是实体与实体时间的关系,因此就就可以推论出,有如下的关系定义。最基础的就是下图描述。因为甲乙丙丁是天干实例,子丑寅卯是地支实例,甲子的天干是甲、地支为子,那么前面定义的实例关系就可以建立了。有一些关系是相同概念,故而设置Equivation To关系。
2024-09-04 14:52:47
539
原创 mysql主从同步
经过验证在主库中创建库,或者添加数据,数据自动从主库会同步到从库。因为我之前一台机器上可以装多个mysql,所以指定了不同端口。如果是mysql是复制过来的,从库启动可能会提示下面的错误。修改auto.cnf中的uuid。执行show master status;在从库的mysql中执行这些命令。
2024-09-03 16:50:46
1375
1
原创 rke管理k8s节点的新增与删除
实际命令如下如果要撤掉删掉,还需要删除cluster.yml中对应节点配置。修改cluster.yml之后,再执行docker ps,可以看到rancher相关的才没有了。
2024-08-05 11:43:09
807
原创 k8s部署rabbitmq集群
发现15672这个端口没有起来,25672 端口(集群通信端口)和 5672 端口(AMQP 客户端连接端口)可以正常工作,这通常意味着管理界面的配置或暴露方式存在问题。查看存储StorageClass的名称,就知道了创建pv和pvc中storageClassName应该为managed-nfs-storage。查看镜像的版本,rabbitmq用的ubuntu,而nacos用的是centos7。这里的managed-nfs-storage沿用了nacos集群的部署。执行命令ss -tuln。
2024-07-22 10:41:14
1198
1
原创 k8s中部署nacos
将nacos部署到middleware的命名空间中注意deployment.yaml中要填写自己的nfs服务器地址,不能使用默认的。
2024-07-22 10:28:37
1129
原创 使用kettle做的数据同步案例
获取到mongodb的字段,获取到mongo的字段,如果某个字段是json结构,则需要自己处理一下,因为mysql中也可以使用。在没有创建索引情况下,mysql查询需要1m45s,mongodb需要624ms。我想把51万8400的计算出来的八字信息,从mongo同步到mysql,看看在mysql中运行会怎么样。存储空间是mongo的7.78倍,查询速度比mongo慢168倍。运行后,可以看到执行情况,51万数据同步花了8分钟。修正mongodb与mysql表之间的关系。添加【表输出】,然后按住。
2024-06-16 11:47:34
607
原创 chatglm3-6b小试
原本想在VMware中装个unbutu,再搞chatglm,但经过调研发现业内都是采用双系统来搞chat的开发。,虽然模型比较大,但国内有对应的景象,奇怪这个模型不是我们自己人研究的吗,怎么还要科学上网。的系统盘,你需要准备8G,因为制作好镜像后是7个多G。中从魔塔中的模型,不需要跟工程在同一个文件,因为这个模型文件就有12G。通过ubuntu自身的软件更新,安装nvidia显卡驱动。,因为大模型里面很多程序不是对应的版本,容易出错,就需要想。,说明显卡驱动安装成功。可以下载到对应的模型,不需要花冤枉钱。
2024-06-05 20:02:56
617
原创 记录岁月云明细账excel导出的性能优化
原因在于如果针对没有多客户的公司,原先的写法是没有问题的,但是针对面向有25万用户的零售企业,这种问题就暴露出来了。这一款属于业务算法,如果有时间可以重写,但实际改造时间并不会给你太长时间,首先老板会觉得性能优化是员工自身的问题,根本不会在一这个。有些工程师有洁癖,比如我。我所做的是新建一个v2版本,如果有问题,原来的代码还能用,以免被人诟病,研发工程师内卷,相互轻视的事情也是经常发生的。从下图可以看到获取数据的时间从50s,下降到268ms,单纯的看数据获取,性能优化了99.47%,速度提升187倍。
2024-05-30 20:26:51
1057
原创 vue2项目升级到vue3经历分享5
这种写法是不行的,因为你不应该直接操作dom,el 参数实际上指向的是 el-input-number 的根 DOM 元素,而不是内部的 input 元素。由于 el-input-number 是组件,不是原生的 input 元素,直接监听其内部 input 事件可能不太方便。下面这个可编辑的表格,全是0,于是需要一个指令,让它自己实现如果是0,就置空;调试你会发现,如果是在表格中,你没改一下,整个数字样式都不会重新格式化一遍。把这个代码放到文心一言,改成vue3的模式,无效,只能自己想办法。
2024-05-11 14:26:06
1292
1
原创 vue2项目升级到vue3经历分享4
一般情况下vue2使用Element UI这个组件库,表格组件的插槽的话一般都是使用v-slot,而vue3使用Element Plus组件库,表格组件中插槽一般为#default,不过不改,也能运行。后端重构,如果接口做好抽象封装,只需要考虑jar之间的兼容性问题,jdk版本不变,基本不用做太大的调整,但是前端就不一样,除了vue框架本身,css的调整,改起来更是让人头疼。由于 Vue 3 使用 Proxy 使其数据属性自动成为响应式的,所以可以直接修改对象属性,而无需使用 $set。
2024-05-08 21:19:52
1381
原创 产品AB测试设计
前端系统升级,界面操作也发生改变,为了将影响降到最低,是不能轻易让所有用户使用新系统的。原系统使用好好的,如果新界面用户不喜欢,或者说新界面测试不充分,导致出现一些bug,到时候一堆用户骂就得不偿失了。如果一个系统中,AB测试显示不同得菜单,那么相同的访问路径是可以做到的。增加字段不可避免,因为分表必须指定字段以区分业务走那张表,因此接口也需要增加字段,看似这么做会产生很多更改,但是这种方式组需要改一次,因为只要分了表,那么分两张,跟分100张就没有多大区别,产品设计得扩展性大大提高。
2024-05-05 11:25:03
658
原创 vue2项目升级到vue3经历分享3
当初花了1个半月将十几个微服务从mybatis升级为mybatis-plus,就很自信的认为前端vue2升级到vue3也不过so so,世界过程中却是折腾,写法乱七八糟,不兼容的问题一大堆。的旧系统,之所以有这段代码,是因为科目表的数据很多,当修改科目或者新增下级科目后,希望能自动移动到之前编辑的位置。的用法是不正确的,这是一个表达式,而不是数据属性。在vite中编译直接报错。它违反了 Vue 的响应式原则,需要换种写法。
2024-05-05 11:23:11
2496
原创 vue2项目升级到vue3经历分享2
下面的代码,在webpack中可以build通过,但是在vite中是不行,明显是代码错误,但是开发工程师却忽略了。期望仅有一个子元素或组件作为其内容,但你可能提供了多个子元素或没有提供任何子元素。在vue2中cdn使用,在public中放入js,如果cdn失效则取本地的js。是因为 prop 是单向数据流,父组件向子组件传递值,子组件不应直接修改这些值。升级的代价并不是那么简单,一篇文章。处理方案如下,按照下面进行拆分。中指定外部cdn资源的分发。然后watch其变化即可。
2024-04-27 11:44:23
617
原创 vue2项目升级到vue3经历分享1
看到下面这个结果真是头大,工程师是不是在摸鱼,复制、粘贴不用动脑,为何不写一个指令来实现。这个里面的工作量非常之大,得耐心去调整。,工程师采用vuex存储状态,肯定不合理,结果就是多租户被架空。像这类问题估计99%的前端开发工程师面试一定能答上来,但是实际应用就只能呵呵了。看看原来的store方式调用api,写法确实冗余拖拉,没有新的方式简洁。升级到vue3,预计工作量有点大,于是想着把过程记录下来。模式,例如这样的,是直接引用了api里面的方法。新方式,一句话定义完了,不用搞那么多绕绕。
2024-04-23 15:45:20
2260
原创 easyexcel升级3.3.4失败的经历
格式,尝试解决单元格样式的问题。回头又发现一个问题,就是第一个页签,与页面内容不匹配的问题。什么都没有改,就出了问题,那么问题肯定出现在easyexcel版本自身.解决一部分问题,结果之前的可以用的代码,却无端的出现bug。但结果并没有对方的好,奇怪。显示效果如下,上面的模板还在,但是表头信息没有了。得到的效果是,页签名称与页签中的内容是匹配的。,有人跟我一样的问题,按照他的方式解决即可。第二页签,把上面的模板也导出来了,奇怪了,没有直接的关系,因此升不升级没有影响。更正模板后,又出现新的问题。
2024-04-16 20:46:08
2204
原创 动态数据源实现分表走shardingsphere,不分表走其他
但是还没有完结,因为在执行存储过程的时候,系统提示错误如下。shardingsphere是不支持存储过程呢,但项目中不能避免使用存储过程,因为有大量的数据需要初始化,这种情况该如何应对?动态数据源是好的,但带来的问题却是数据库初始化连接过多,如下面的配置,每个系统就有两份数据库连接池配置,这个需要注意,在k8s扩展服务的时候应该考虑到这一点。因为shardingsphere不支持存储过程及一些语句,所以产生了动态数据源的需求,在网上找的例子配置,上面的java配置,还有一个问题没有解决,那就是。
2024-04-15 16:50:20
1563
1
原创 shardingsphere从4.1.1升级到5.2.1
作为工程师都希望自己的产品能够大卖,而项目开发中使用的技术不可能所有都是自己写的,使用到的开源组件例如shardingsphere这样好的组件,也会随着用户量的增加而需要升级,没必要非得像hutool那样非得自己写一边,当然hutool很优秀。下图进去了,好像也不会影响,因为4.1.1版本也是为空,但执行这一步后会从nacos中获取sharding的配置,但升级后却没有加载,这是为什么呢?原先产品中使用的是4.1.1版本,这是2020年的版本,今年是2024年,已经过去了4年,可以升级了。
2024-04-14 21:35:00
2025
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人