- 博客(115)
- 收藏
- 关注
原创 MyBatisX插件使用
MyBatis Plus提供了一个IDEA插件——MybatisX,使用它可根据数据库快速生成EntityMapperMapper.xmlService等代码,使用户更专注于业务。
2025-04-10 18:47:32
90
原创 Mybatis Plus与SpringBoot的集成
为简化上述操作,可以使用Mybatis-Plus提供的逻辑删除功能,它可以自动为查询操作增加。:可使用mybatis-plus的自动填充功能,所谓自动填充,就是通过统一配置,在插入或更新数据时,自动为某些字段赋值,具体配置如下,详细信息可参考。分页对象既作为分页查询的参数,也作为分页查询的返回结果,当作为查询参数时,通常只需提供。逻辑删除功能只对Mybatis-Plus自动注入的sql起效,也就是说,对于手动在。对于自定义SQL,也可以十分方便的完成分页查询,如下。文件配置的sql不会生效,需要单独考虑。
2025-04-09 19:35:50
320
原创 IntelliJ IDEA 2023.3.4创建JavaWeb应用和集成Tomcat服务器
如下图所示,只需要给项目起一个项目名称,然后点击Create即可:创建完成后如下图。
2024-03-17 09:52:31
822
1
原创 【Linux 静态IP配置】
首先设置虚拟机中NAT模式的选项,打开VMware,点击“编辑”下的“虚拟网络编辑器”,设置NAT参数。在普通用户下不能修改网卡的配置信息;所以我们要切换到root用户进行ip配置。VMware Network Adapter VMnet8保证是启用状态。
2023-11-27 16:03:53
222
原创 Linux环境下Redis 集群部署
(如出现错误参考: http://blog.youkuaiyun.com/qq_30242987/article/details/99727838)到这里只是启动了六个单进程的redis,开始创建集群,先安装好ruby。在启动时会发现一个个启动太麻烦,这里配置一下启动关闭文件。#这里闲一个个启动麻烦的话可以自己配置一个配置文件启动。#进程pid的文件位置 (注意需要跟端口号一样)解决办法是 先安装rvm,再把ruby版本提升。#集群节点配置文件(注意需要跟端口号一样)到这里集群就安装好了,测试一下。
2023-10-23 12:09:24
780
原创 数据仓库基础(一)
数据仓库的由来?企业的日常运作,例如订单处理、会计账务、盘点存货、核对账目、保险申请等业务需要各种信息系统的支持,这些应用系统工作起来非常有效,但却局限于他们当初被设计的范围。收集、存储和处理所有这些数据需要成功的完成日常操作工作。随着商业活动变得越来越复杂,公司企业迅速的全球化,竞争也越来越激烈,商业经理们渴望得到更多的信息来提高在商业活动中的竞争力。日常操作型计算机系统提供大量的信息来支持...
2022-10-20 15:15:16
145
原创 flink程序在消费kafka数据时出现Error sending fetch request问题
在程序已经稳定运行多天、未对代码做任何修改、查看所消费数据源未出现数据增多的情况下,有一个flink程序最近出现了积压问题,很是疑惑,观察几天并查看了日志发现,每当出现加压时便会伴随该日志出现,因此便着手解决该问题。...
2022-08-11 15:38:33
8648
1
原创 Table API & SQL——与DataStream API 整合(1.14.4)
DataStream API 提供流处理较低层次的、原始的编程API,例如时间、状态和数据流管理,而Table API则在此基础上抽象出许多内部构件,提供结构化和声明式API。两种API都可以处理有界或无界流。为了提高效率,两种API都分别提供了优化的批执行模式,然而因为批式一种特殊的流,所以可以在一个标准流执行模式运行有界流。两种API不需相互依赖,可以分别独自定义完整的数据流管道,但是在实际使用过程种,为了各种便利的原因可以混合使用他们:相比与DataStream API ,Table 生态系统
2022-05-04 19:40:18
905
1
原创 Error: Static methods in interface require -target:jvm-1.8
在使用Flink 1.14.4的WatermarkStrategy的方法时,报此错 val dataStream2 = dataStream.assignTimestampsAndWatermarks( WatermarkStrategy .forBoundedOutOfOrderness[User](Duration.ofSeconds(2)) .withTimestampAssigner(new Se
2022-05-03 15:24:48
1119
原创 Error:java: Compilation failed: internal java compiler error
新建的项目,Scala代码可以正常运行,但是Java代码就报该错误。1. 编译插件编译插件如下: <build> <plugins> <!-- 该插件用于将Scala代码编译成class文件 --> <plugin> <groupId>net.alchim31.maven</groupId> <
2022-05-02 15:53:16
238
原创 Table API & SQL——概念和通用 API(1.14.4)
1. Table API & SQLTable API & SQL接口和DataStream API无缝衔接,他们之间可以很容易的相互转换。使用这些接口构建程序需要如下依赖:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-api-scala-bridge_2.11</artifactId> <version>
2022-04-30 22:03:28
2434
1
原创 Flink消费kafka的offset设置
1.问题问题简介及背景在使用Flink自带的Kafka消费API时,我们可以像单纯的使用Kafka消费对象API对其进行相应的属性设置,例如,读取offset的方式、设置offset的方式等。但是,Flink具有checkpoint功能,保存各运算算子的状态,也包括消费kafka时的offset,那这两种情况分别在什么时候起作用呢?2. Flink checkpoint设置flink并不依赖kafka或zookeeper保证容错,其保存offset只是为了外部来查询监视kafka数据的消费情况。但其提
2022-04-19 19:47:16
10738
2
转载 Flink 两阶段提交sink探索(Mysql)
1. 简单介绍目的Flink能够提供其应用内部范围的端到端的exeatly-onece语义数据流转,其本身提供的Kafka Sink连接器便继承了TwoPhaseCommitSinkFunction抽象类,使用两阶段提交方式(需事务操作支持)结合Flink的checkpoint保证端到端一致性。而Mysql数据库支持事务,那我们为了实现数据写入Mysql时也保证程序的端到端一致性,是否可以继承该抽象类?2. 主程序import org.apache.flink.shaded.jackson2.com.
2022-04-18 21:30:10
1051
3
原创 Flink Web UI中不显示各算子节点的接收数据量
1. 现象各节点发送/接收数据量都是0可以看到各节点是链接在一起的2. 原因整个流程各operator task的并行度相同,而Flink默认不监控与外界数据源的输入输出,可以把中间算子的并行度设为相同的就可以看到中间数据QPS;可以看到各节点的operator task是分开连接在一起的,这样会显示各节点的QPS,由于我的是测试的数据不是kafka一直有数,所以过段时间QPS又降为0了。...
2022-04-03 15:54:05
3322
1
原创 Spark的DataFramex写入Oracle中数据类型转换
1. 标准hive sql可参考文章2. Spark DSL 风格 sql$"field_name".cast(DecimalType(16, 4)) as "field_name"3. 数值类型的值超过Oracle字段精度未在写入数据库之前定义精度,会报ORA-01438:值大于允许精度;写入之前设定其精度,数据将写入数据库,但改字段为空值;且同时改字段不能为空时,报ORA-01400:无法将null值插入…;...
2022-03-25 23:23:38
3338
原创 Sqoop安装及使用
Sqoop安装及使用1. Sqoop 安装1.1 下载Sqoop1.2 上传和解压jar包1.3 相关配置1.3.1 环境变量配置1.3.2 Sqoop配置文件修改1.3.3 将MySQL驱动包上载到Sqoop的lib下2. 使用Sqoop2.1 使用help命令2.2 MYSQL表数据到HDFS中2.3 HDFS 导出向 RDBMS2.3.1 HDFS 导出向 RDBMS2.3.2 删除RDBMS 中表的数据1. Sqoop 安装1.1 下载Sqoop下载链接1.2 上传和解压jar包tar
2021-12-23 09:52:41
1006
原创 Window 环境连接虚拟机中Hadoop及Spark集群
Window 环境连接虚拟机中Hadoop及Spark集群1.Windows安装Hadoop1.1 配置环境变量1.2 下载相似版本的文件1.Windows安装Hadoop在windows上把hadoop的压缩包解压到一个没有空格的目录下,比如是D盘根目录1.1 配置环境变量HADOOP_HOME=D:\hadoop-2.7.7Path下添加 %HADOOP_HOME%\bin1.2 下载相似版本的文件hadoop.dll #存放在C:\Windows\System32 目录下winutil
2021-12-16 17:30:36
2846
原创 maven-assembly-plugin使用
maven-assembly-plugin使用1. maven-assembly-plugin是什么?2. maven-assembly-plugin使用步骤1. maven-assembly-plugin是什么?它是maven中提供的打包标准插件。Assembly 插件的主要作用是,允许用户将项目输出与它的依赖项、模块、站点文档、和其他文件一起组装成一个可分发的归档文件。2. maven-assembly-plugin使用步骤在Maven工程的pom.xml文件里配置maven-assem
2021-12-02 10:42:24
922
原创 Spark-sql DSL 风格
Spark-sql DSL 风格1. select、selectExpr函数2. 使用withColumn3. distinct/dropDuplicates去重方法4. pivot 行列旋转5. Spark UDF6. agg函数1. select、selectExpr函数select、selectExpr函数2. 使用withColumn使用withColumn3. distinct/dropDuplicates去重方法distinct/dropDuplicates 去重方法4. pivo
2021-11-15 08:53:38
1796
原创 Java日期操作
@[TOC]日期转换、格式化日期格式化——DateFormat/SimpleDateFormatDateFormat 是日期/时间格式化子类的抽象类。其子类(如 SimpleDateFormat)能够进行格式化(也就是日期→文本)、解析(文本→日期)和标准化日期。在创建 DateFormat 对象时不能使用 new 关键字,而应该使用 DateFormat 类中的静态方法 getDateInstance(),示例代码如下: // Date和字符串相互转化(字符串转换为Date类型时,有汉字的字
2021-11-11 14:33:38
1075
原创 Flink‘s State & Fault Tolerance
1. Working with State本部分将介绍Flink提供的写状态程序的API。1.1 Keyed DataStream如果想使用键控状态(keyed state),首先需要指定一个DataStream的key,以key将状态分区。通常使用keyBy(KeySelector/键选择器)指定DataStream的key,形成一个键控流(KeyedStream),允许在其上运用键控状态。键选择器函数(key selector function)将处理的每条记录数据作为输入,返回一每条记录的ke
2021-08-08 18:08:55
209
原创 KafkaProducer和KafkaCousumer对象的创建
1.Kafka数据源API的使用1.1 KafkaProducer对象KafkaProducer类有四个开发者可以调用的构造方法,分别是:public KafkaProducer(Map<String, Object> configs)public KafkaProducer(Map<String, Object> configs, Serializer<K> keySerializer, Serializer<V> valueSerializer)
2021-08-03 14:33:10
580
原创 Spark 从Hive表中读数据或向Hive中写入数据
Spark SQL支持在Hive中的数据读写,但是Hive中有大量的依赖在Spark中不存在,所以在使用过程中要配置这些依赖。Configuration of Hive is done by placing your hive-site.xml, core-site.xml (for security configuration), and hdfs-site.xml (for HDFS configuration) file in conf/.下面是使用Hive的测试:import org.apac
2021-07-27 19:50:30
2553
3
原创 GitHub连接IDEA
1. GitHub连接IDEA1.1 安装Git1.2 在GitHub上注册账户1.3 本地Git和GitHub连接配置1.3.1 本地获取公钥配置用户名/用户邮件地址git config --global user.name "XXxv"git config --global user.email "xxxxxx@qq.com"2. 本地生成密钥ssh-keygen -t rsa -C "1509845411@qq.com"1.3.2 将公钥添加到GitHub在本地找到i
2021-07-24 17:02:57
205
原创 Spark(Structured Streaming)
1. 结构化流介绍Structured Streaming 是基于Spark SQL引擎的可扩展和和可容错的流处理引擎。这样我们可以像处理静态批计算一样处理流,随着流数据的追加,Spark SQL将不断更新最终计算结果。同事,我们可以使用Scala、Java、Python或者R语言的Dataset/DataFrame API去处理流聚合(streaming aggregations)、事件时间窗口(event-time windows)、流和批的joins(stream-to-batch joins)等,
2021-07-20 14:06:51
246
原创 Java对HBse操作(创建、删除、添加)
1、准备工作1.1 pom文件 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.3.1</version> </dependency> <d
2021-07-12 14:20:49
249
原创 fastjson使用
1. Scala使用fastjson时,报错信息ambiguous reference to overloaded definition,both method toJSONString in object JSON of type (x$1: Any, x$2: com.alibaba.fastjson.serializer.SerializerFeature*)Stringand method toJSONString in object JSON of type (x$1: Any)Strin
2021-07-11 09:38:01
252
原创 并发编程(待补充)
Scala的actor提供了一种基于事件的轻量级线程。只要使用scala.actors.Actor伴生对象的actor()方法,就可以创建一个actor。它接受一个函数值/闭包做参数,一创建好就开始运行。用!()方法给actor发消息,用receive()方法从actor接收消息。receive()也可以闭包为参数,通常用模式匹配处理接收到的消息。我们看个例子,假定我们需要判定一个给定的数是完全数: def sumOfFactors(number: Int) = { (0 /: (
2021-07-03 15:14:34
87
原创 Scala模式匹配提取器(extracter)+正则表达式+正则表达式提取器
提取器会从输入中提取出匹配的部分。假定我们在写一个服务,处理股票相关的输入。对我们来说,手头的第一个工作就是接收股票代码,返回这个股票的价格(为了演示,这里打印出结果)。process()方法需要校验给定的代码是否有效,如果有效,则返回其股价。代码如下:object Symbol { def unapply(symbol: String): Boolean = symbol == "GOOD" || symbol == "IBM"}object StockService { def
2021-07-02 10:32:33
911
原创 Trait和类型转换
1. TraitTrait是指可以混入或融入一个类层次结构的行为。比如说,先对Friend建模,然后将其混入任何类:Men、Women、Dog等,而不用让它们都从一个公共的基类继承下来。假定我们已经建模出Human,现在,想让它成为朋友。朋友是能够倾听你说话的人。所以,我们要给Human类增加一个listen方法,下面是:class Human(val name: String) { def listen() = println("Your friend " + name + " is lis
2021-07-01 11:29:09
173
原创 Execute Around Method(用完对象后立刻释放)+偏应用函数+闭包
1. Execute Around Method(用完对象后立刻释放)在Java中,进入synchronized块时,会获得给定对象的监视器(锁)。离开此块时,这个监视器会自动释放。即便是块里的代码抛出未处理的异常,也不会影响到释放。这种确定性行为非常好。相比于Java,Scala里实现这些构造相当容易。看下面例子:假如有个类Resource,需要自动开启食物,在用完对象之后,就要显式地结束事物。正确的启动事物可以依赖构造函数,而实现终结部分却有些棘手。这就落入Execute Around Metho
2021-06-30 09:57:52
205
1
原创 Scala的Protected、Private等修饰符
1. Protected在Scala里,用protected修饰的成员只对本类及派生类可见。同一个包里的其他类无法访问这些成员。而且,派生类只可以访问本类内的protected成员。示例:package automobilesclass Vehicle { protected def checkEngine(){}}class Car extends Vehicle{ def start(){checkEngine()/*OK*/} //从派生类Car的实例方法访问
2021-06-29 09:39:17
873
转载 Cent OS 6 yum更新报错
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
2021-06-20 23:01:47
106
原创 Flink三种流和窗口转换的梳理
1. 简单介绍目前所能理解的程度(持续更新),知道Flink中有三种流,DataStream, AllWindowedStream,KeyedStream,WindowedStream。1.1 DataStream经过以下方法可以转化为AllWindowedStream // 1.TimeWindow之滚动窗口 def timeWindowAll(size: Time): AllWindowedStream[T, TimeWindow] = { new AllWindowedStream(
2021-04-07 22:39:34
1046
原创 Flink 部分Function的依赖关系
1. Function 接口的实现Function (org.apache.flink.api.common.functions)RichFunction (org.apache.flink.api.common.functions)MapFunction (org.apache.flink.api.common.functions)KeySelector (org.apache.flink.api.java.functions)ReduceFunction (org.apache.flink.
2021-04-05 17:44:38
937
原创 Flink 流处理中的特殊概念
1. 流处理中的特殊概念Table API和SQL,本质上还是基于关系型表的操作方式;而关系型表、关系代数,以及SQL本身,一般是有界的,更适合批处理的场景。这就导致在进行流处理的过程中,理解会稍微复杂一些,需要引入一些特殊概念。1.1 流处理和关系代数(表,及SQL)的区别可以看到,其实关系代数(主要就是指关系型数据库中的表)和SQL,主要就是针对批处理的,这和流处理有天生的隔阂。1.2 动态表(Dynamic Tables)因为流处理面对的数据,是连续不断的,这和我们熟悉的关系型数据库中保存
2021-04-04 23:20:22
473
原创 IDEA中无法下载jar包,手动下载添加到Maven本地仓库
1. 下载jar包1.1 常用jar包下载地址添加链接描述添加链接描述添加链接描述添加链接描述添加链接描述1.2 下载jar包1)搜索目标jar包2)找到对应的版本并下载3)maven添加jar包命令构建mvn install:install-file -Dfile=“下载后的jar包路径\xxx.jar(到jar包的名称)” -DgroupId=上图中的groupId -DartifactId=上图中的artifactId -Dversion=上图中的version -Dpa
2021-04-01 20:23:51
432
原创 Flink Table API 和 Flink SQL
1. 简单介绍1.1 什么是 Table API 和 Flink SQLFlink本身是批流统一的处理框架,所以Table API和SQL,就是批流统一的上层处理API。目前功能尚未完善,处于活跃的开发阶段。Table API是一套内嵌在Java和Scala语言中的查询API,它允许我们以非常直观的方式,组合来自一些关系运算符的查询(比如select、filter和join)。而对于Flink SQL,就是直接可以在代码中写SQL,来实现一些查询(Query)操作。Flink的SQL支持,基于实现了
2021-03-29 22:32:46
773
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人