![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
敲代码的蒜子
岂是池中物
展开
-
本地DataXWeb代码发布至Linux
本地DataXWeb代码发布至Linux有时候会对DataXWeb进行更改,或者是二次开发,但是网上较少用本地的代码打包发布记录,这里记录下。文章目录本地DataXWeb代码发布至Linux一、环境准备1)Linux基础软件安装2 ) DataX Web安装包准备二、开始部署1)解压安装包2)执行一键安装脚本3)数据库初始化4 ) 配置5)启动服务6)查看服务(注意!注意!)7)运行一、环境准备1)Linux基础软件安装MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装m原创 2021-05-14 11:17:11 · 754 阅读 · 3 评论 -
浅测评DataX与Kettle
浅测评DataX与Kettle两者作为ETL的常用工具,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环,也是工作量较大的一块。DataX与DataX的安装与使用这里就不介绍了,可以看:DataX安装与简单使用DataWeb的部署与使用文章目录浅测评DataX与Kettle一、简单介绍二、支持的主流数据源三、操作性KettleDataX四、功能性1.数据同步10万数据量的情况:100万数据量的情况2.数据清洗10万数据的情况100万数据的情况一、简单介绍Da原创 2021-05-12 18:15:09 · 12215 阅读 · 4 评论 -
kettle点击spoon.bat打不开
kettle点击spoon.bat打不卡今天好不容易下载好了kettle,却死活打不开,环境变量什么的都添加好了,这里总结下解决办法卡在这不动网上大部分会说是内存问题,修改jvm参数之类的,有可能是这个原因,但我不是。if “%PENTAHO_DI_JAVA_OPTIONS%”=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" “-Xmx2048m” "-XX:MaxPermSize=256m"修改为if “%PENTAHO_DI_JAVA_OPTIONS原创 2021-05-11 15:58:49 · 3803 阅读 · 1 评论 -
DataX Web部署使用说明
DataX Web部署使用说明DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的操作界面。clone地址:https文章目录DataX Web部署使用说明一、安装部署1、clone至idea,并打开bin/db目录下的datax_web.sql文件,选择库并执行。2、修改datax-admin的application.yml3、修改datax-executor的application.yml4、运行datax-admin与datax-executor二、DataX Web的使用原创 2021-05-11 14:48:22 · 3015 阅读 · 2 评论 -
windows安装并简单使用datax
windows安装并简单使用datax文章目录windows安装并简单使用datax一、datax概述二、DataX框架设计三、DataX安装环境准备:1.JDK1.82.Python2.73.安装datax四、job.json文件一、datax概述DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。二、DataX框架设计DataX本身作为离线数据同原创 2021-05-11 13:35:17 · 2711 阅读 · 2 评论 -
重构改善既有代码之令人迷惑的暂时字段
重构改善既有代码之令人迷惑的暂时字段Temporary Field(令人迷惑的暂时字段)有时你会看到这样的对象:其内某个实例变量仅为某种特定情况而设。这样的代码让人不易理解,因为你通常认为对象在所有时候都需要它的所有变量。令人迷惑的暂时字段弊端1.后期难以维护,会令程序员不理解是否需要使用所有的字段。2.阅读性差,因为字段的暂时性,很难记住其作用或猜测其目的性,特别是在命名不规范的时候。优化方式关于优化的常用方式在另外一篇文章总结1.运用 Extract Class – Replace Me原创 2021-05-09 23:30:41 · 338 阅读 · 6 评论 -
重构改善既有代码之平行继承体系
重构改善既有代码之平行继承体系Parallel Inheritance Hierarchies(平行继承体系)每当你为某个类增加一个子类,必须也为另一个类相应增加一个子类。如果你发现某个继承体系的类名前缀和另一个继承体系的类名前缀完全相同,便是闻到了这种坏味道。出现平行继承体系的弊端1.不利于后期的维护,每当向下添加子类时需同步增加平行体系的子类。2.代码阅读容易混淆。3.一条平行的中的一个错误会影响整个体系。优化方式关于优化的常用方式在另外一篇文章总结1.让一个继承体系的实例引用另一个继原创 2021-05-09 22:26:38 · 1038 阅读 · 0 评论 -
重构改善既有代码之数据泥团
重构改善既有代码之数据泥团Data Clumps(数据泥团)数据泥团指的是经常一起出现的数据,比如每个方法的参数几乎相同,处理方式与过长参数列的处理方式相同,用Introduce Parameter Object(引入参数对象)将参数封装成对象,或是Preserve Whole Object(保持对象完整)将参数改为对象。出现数据泥团的弊端1.增加代码体积2.影响代码可读性3.不利于后期的维护优化方式1.找出这些数据以字段形式出现的地方,运用 提炼类(Extract Class) 将它们提炼原创 2021-05-08 15:35:10 · 2764 阅读 · 0 评论 -
重构改善既有代码之基础改善方法
重构改善既有代码之基础改善方法在实际开发中有大量的代码块改善方式,这里介绍几种基础的方法。文章目录重构改善既有代码之基础改善方法1.Move Method(搬移函数)2.Move Field(搬移字段)3.Extract Class(提炼类)4.Inline Class(将类内联化)5.Preserve Whole Object(保持对象完整)6.Replace Parameter with Methods(以函数取代参数)7.Introduce Paramter Object(引入参数对象)8.Int原创 2021-05-08 15:09:20 · 431 阅读 · 0 评论 -
Linux搭建FTP服务器成功却不能用其他用户登录
Linux搭建FTP服务器成功却不能用其他用户登录在搭建成功ftp服务器后,测试外部连接一直报错,一直以为是conf文件配置写错了,参考网上大多数办法但都不能解决。xftp测试连接报错:xshell测试连接报错:500解决方案:在vsftpd.conf添加:ftp_username=nobody但还不太确定意思...原创 2021-04-28 14:16:54 · 411 阅读 · 0 评论 -
openfeign报错json解析错误
调用openfeign接着报错com.fasterxml.jackson.databind.exc.MismatchedInputException和Cannot deserialize instance of java.lang.String[] out of START_OBJECT token想法是openfeign在服务与服务之间的对象传递是通过json,既然报错反序列化的问题,无非就是格式问题;但是这个方法包装在openfeign当中,自己也无法通过debug查看参数,于是将openfegin原创 2021-02-08 17:23:49 · 2550 阅读 · 0 评论 -
fegin调用异常feign.FeignException$MethodNotAllowed: [405] during [GET]
fegin调用异常feign.FeignException$MethodNotAllowed: [405] during [GET]问题:fegin调用异常feign.FeignException$MethodNotAllowed: [405] during [GET] 。原因是在feign接口层的接口方法不能正确的解析传入参数导致;此时容易出现问题的地方有两个:第一个请求方式不一致,比如provider定义的为Get请求,而consumer采用的是post请求,则会出现异常。第二个就是参数导致的,原创 2021-02-08 17:18:57 · 12201 阅读 · 2 评论 -
报错org.thymeleaf.exceptions.TemplateInputException: Error resolving template解决方案
报错org.thymeleaf.exceptions.TemplateInputException: Error resolving template解决方案在controller层请求处理完了返回时,没有使用@RestController或@ResponseBody而返回了非json格式,因为使用的是@controller返回页面不好改变,在方法上添加了@ResponseBody解决问题...原创 2021-02-08 17:16:21 · 502 阅读 · 0 评论 -
gateway跨域问题
gateway跨域问题常见的跨域解决方案1.在控制层或控制层方法添加@CrossOrigin注解2.在服务层写入3.在gateway配置中加入4.在gateway加CorsConfig在使用的时候碰到的问题1.在未在网关添加cors的时候,请求路径报错,加上后发现还是不行,仔细游览代码发现以前的服务有写@CrossOrigin(origins="*",maxAge=3600)的注解导致重复2.再次调用,发现还是不行,前端报错403,一直纠结在是不是没有赋权限或请求头添加的不合理;在报错的403响应载荷里发现原创 2021-02-05 18:01:51 · 1284 阅读 · 0 评论 -
json常见问题
1.在json数据只用JSONFAST转对象时总是失败,一个原因是entity实体类与json的属性对应不上,二是数据类型的问题,比如long,三是json数据在转换时不能加[]2.记json解析的一个大坑,jsonObject.getJsonArray().getJsonArray()时,报错classCastException,详细就是说JsonObject不能转JsonArray;但是debug发现第一个jsonArray并没有问题,而且原本解析的json字符串的确是两个array嵌套;再次deb原创 2021-01-29 10:48:55 · 517 阅读 · 0 评论 -
springboot @Value读取不到数据的问题
因为@value是基于springboot,所以在使用的类必须加Service、controller等注解,并且在实例化的过程只能用依赖注入,而不能自己实例化(new的方式)。原创 2021-01-29 10:47:38 · 752 阅读 · 0 评论 -
集合容器中类与类的转换
BeanUtils.copyProperties只能将类与类之间的数据转换 在有容器类时并不可以,这时候可以使用:public static <T> List copyList(List<T> list,Class tClass) { if (CollectionUtils.isEmpty(list)) { return new ArrayList(); } return JSON.parseArray(JS原创 2021-01-29 10:46:29 · 74 阅读 · 0 评论 -
Mybatis使用总结
1.用mybatis进行三表联立查询:指定一个mapper.xml进行修改,(比如StudentMapper.xml)声明resultMap,并将type指定相关的类,取id名 <collection property="gradeList" ofType="com.lxz.demo.entity.Grade"> <id column="gid" jdbcType="INTEGER" property="id" /> <result col原创 2021-01-29 10:43:31 · 87 阅读 · 0 评论 -
数据库安装使用常见问题
1.安装数据库的时候没有使用管理员权限打开cmd 导致初始化失败2.新版本数据库设置数据库密码过于简单不能使用3.管理员模式打开的cmd没有X盘(虚拟盘)4.java连接mysql出现The server time zone value ‘?й???’ is unrecognized的解决方法在Idea中连接数据库是抛出The server time zone value ‘?й???’ is unrecogni错误 原因是因为使用了Mysql Connector/J 6.x以上的版本,然后就报了时原创 2021-01-29 10:19:17 · 243 阅读 · 0 评论 -
@JsonSerialize和@JsonDeserialize的作用
今天在公司看代码的时候,看到两个注解@JsonSerialize和@JsonDeserialize,这是在实体类的一个字段上加的这个两个注解 @JsonSerialize(using = LongJsonSerializer.class) @JsonDeserialize(using = LongJsonDeserializer.class) @ApiModelProperty(value = "数据id",required = true) @NotNull(message转载 2021-01-27 09:54:41 · 1479 阅读 · 0 评论 -
jvm大概理解思路
jvm大概理解思路什么是JVMJVM内存模型jvm生命周期如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机原创 2020-10-16 16:53:09 · 147 阅读 · 0 评论 -
hive执行流程(框架流程)
1.(执行查询操作)Execute Query命令行或Web UI之类的Hive接口将查询发送给Driver(任何数据库驱动程序,如JDBC、ODBC等)以执行。2.(获取计划任务)Get PlanDriver借助查询编译器解析查询,检查语法和查询计划或查询需求3.(获取元数据信息)Get Metadata编译器将元数据请求发送到Metastore(任何数据库)。4.(发送元数据)Send MetadataMetastore将元数据作为对编译器的响应发送出去。5.(发送计划任务)Send P原创 2020-10-13 09:44:34 · 1487 阅读 · 0 评论 -
hive执行流程(框架流程)
1.(执行查询操作)Execute Query命令行或Web UI之类的Hive接口将查询发送给Driver(任何数据库驱动程序,如JDBC、ODBC等)以执行。2.(获取计划任务)Get PlanDriver借助查询编译器解析查询,检查语法和查询计划或查询需求3.(获取元数据信息)Get Metadata编译器将元数据请求发送到Metastore(任何数据库)。4.(发送元数据)Send MetadataMetastore将元数据作为对编译器的响应发送出去。5.(发送计划任务)Send P原创 2021-05-11 13:40:13 · 546 阅读 · 0 评论