自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1222)
  • 资源 (12)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 mysql 不走索引的情况

1 or (待确认)、in(待确认)2 like '%abc' 或者 like‘%abc%’3 where num/2=100 或者 subString(a,1,3)='ab'4 where id !=2 或者 where id <> 25 where name is null6 复合索引a-b-c,a用到,b用不到,c用不到,ab有效,ba有效,a or b无效,...

2019-04-18 21:31:40 6679

原创 js 对象数组添加属性、修改属性

var kvArray = [{key: 1, value: 10}, {key: 2, value: 20}, {key: 3, value: 30}];var reformattedArray = kvArray.map(function(obj,index) { console.log(index) var rO...

2018-10-12 19:24:14 27421 1

原创 线程池ExecutorService空闲线程的个数

keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止。默认情况下,只有当线程池中的线程数大于corePoolSize时,keepAliveTime才会起作用,直到线程池中的线程数不大于corePoolSize,即当线程池中的线程数大于corePoolSize时,如果一个线程空闲的时间达到keepAliveTime,则会终止,直到线程池中的线程数不超过corePoolSize。但...

2018-06-28 20:02:33 17306 1

原创 ConditionalOnProperty的使用

@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE, ElementType.METHOD})@Documented@Conditional({OnPropertyCondition.class})public @interface ConditionalOnProperty { String[] value()...

2018-02-23 15:02:26 40764 6

原创 Mysql decimal(m,d)的说明

看了一些博客,觉得很多都是复制的,不如自己亲测一篇: create table decimal_test(id int auto_increment PRIMARY key,score decimal(5,2) -- 取值范围是 -999.99 到 999.99);-- 整数的位数必须小于等于m-d,不然报错。小数的位数可以大于d位。多...

2018-02-02 14:27:20 21383 10

原创 java二维数组A.length和A[i].length的区别

public static void main(String[] args) { //// write your code here int[][] A=new int[][]{{1,2},{4,5},{7,8,10,11,12},{}}; System.out.println(A.length);//4,表示数组的行数 System.out.p

2017-08-11 21:04:30 20647 1

原创 Hadoop distcp 用法/附避坑指南

distcp作用是从hdfs复制一个或多个数据文件或数据目录到一个指定目录下。会启动Map任务去复制,不会启动Reduce任务。语法:$ hadoop distcp 配置参数(-pt -overwrite等) hdfs:......源表1/dt=xxxx/* hdfs:......源表2/dt=xxxx/* hdfs:......目的表/dt=xxxx $ hive -e "select * from 目的表 where dt = 'xxxx'" 以上命令是把源表1和源表2的dt=x

2021-05-13 20:16:56 6

原创 Hive concat,concat_ws 遇到NULL 用法

select CONCAT('My', NULL, 'QL') ; -- NULLselect CONCAT_WS('_','My', NULL, 'QL') ; -- My_QLselect concat(1,2,3) ; -- 123select concat('1',2,3) -- 123select concat_ws('_',1,2,3) ; -- 1_2_3select concat_ws('_','1',2,3) ; -- 1_2_3end

2021-05-07 17:55:49 11

原创 Flink 的 emit 作用

flink 1.9如下:配置如下:table.exec.emit.early-fire.enabled:truetable.exec.emit.early-fire.delay:60 searly-fire.delay 就是每分钟输出一次结果的意思。SQL 如下:SELECT TUMBLE_ROWTIME(eventTime, interval ‘1’ day) AS rowtime, dimension, count(distinct id) as uvFROM personG

2021-04-28 18:23:35 13

原创 sublime 自动带入查询

实验1: 能自动带入到查询框

2021-04-28 17:21:07 10

原创 Hive count(distinct ) 优化

第一阶段:

2021-04-28 17:09:53 15

原创 Hive order by 用到 if

SQL:select * from (select 1 as flag,'tom' as name,12 as age from table1limit 1)t1union all select * from (select 1 as flag,'tom' as name,13 as age from table1limit 1)t2union allselect * from (select 0 as flag,'tom2' as

2021-04-15 22:38:20 28

原创 Flink Record has Long.MIN_VALUE timestamp (= no timestamp marker). Is the time characteristic

报错:Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: Job execution failed. at org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:147) at org.apache.flink.runtime.minicluster.MiniCluste...

2021-04-15 15:36:00 124

原创 Flink SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases

SQL validation failed. From line 1, column 89 to line 1, column 111: List of column aliases must have same degree as table; table has 1 columns ('f0'), whereas alias list has 3 columnsat org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(Fli

2021-04-15 15:18:09 52

转载 Flink的Watermark细节介绍

在前面的流处理随谈一文中已经简单介绍了Watermark,本文主要再结合Flink具体分析一下,作为补充。理论如果看完之前的文章,已经完全理解了Watermark,那可以直接跳过这部分,看实战部分。如果还不太理解,我通过几个问题来阐述一下,帮助你理解。要注意的是下面的描述方式和实际实现未必完全一样(有些甚至是我的个人观点),但可以帮助你更好的理解。What?Watermark是什么?从不同的维度可以有不同的理解从Watermark的计算角度看:可以将Watermark理解为一个函数:F(

2021-04-15 11:01:06 18

原创 Flink 使用TableFunction getResultType返回Row类型

Flink1.9.3package SQL_split_index;import org.apache.flink.api.common.typeinfo.TypeInformation;import org.apache.flink.api.common.typeinfo.Types;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streaming.api.

2021-04-13 11:35:32 56

转载 Flink 数据倾斜 解决方法

1.数据倾斜的原理和影响1.1 原理数据倾斜就是数据的分布严重不均,造成一部分数据很多,一部分数据很少的局面。数据分布理论上都是倾斜的,符合“二八原理”:例如80%的财富集中在20%的人手中、80%的用户只使用20%的功能、20%的用户贡献了80%的访问量。 数据倾斜的现象,如下图所示。1.2 影响(1)单点问题数据集中在某些分区上(Subtask),导致数据严重不平衡。(2)GC 频繁过多的数据集中在某些 JVM(TaskManager),使得JVM 的内存资源短缺,.

2021-04-12 21:27:53 43

转载 Flink Checkpoint 超时原因及解决

第一种、计算量大,CPU密集性,导致TM内线程一直在processElement,而没有时间做CP【过滤掉部分数据;增大并行度】代表性作业为算法指标-用户偏好的计算,需要对用户在商城的曝光、点击、订单、出价、上下滑等所有事件进行比例计算,并且对各个偏好值进行比例计算,事件时间范围为近24小时。等于说每来一条数据,都需要对用户近24小时内所有的行为事件进行分类汇总,求比例,再汇总,再求比例,而QPS是1500,24小时1.5亿的累积数据,逻辑处理的算子根本无法将接收到的数据在合适的时间内计算完毕,这里还有

2021-04-12 21:16:25 60

原创 FlinkSQL split_index 的用法

1 添加<properties> <flink.version>1.9.3</flink.version> <flink.scala.version>2.11</flink.scala.version></properties><dependency> <groupId>org.apache.flink</groupId> <artifactId&

2021-04-12 17:10:28 25

转载 Mac 安装 maven

1、Maven下载注意 idea 版本要和 Maven版本对应 idea 2019 2020支持Maven3.6.1版本 如果装高版本会报错http://maven.apache.org/download.cgi下载,选择Binary zip archive 的类型.2、解压maven解压下载好的maven,将目录丢到终端命令去获取文件路径。设置path:vi ~/.bash_profile添加maven的路径,将下载好的maven资源引入path 中:export M2_HOME..

2021-04-12 15:54:41 40

转载 Mac安装brew wget

Mac安装wget的两种方法第一种、传统的安装包 1.从ftp://ftp.gnu.org/gnu/wget/下载到最新的wget安装包到本地 2.然后通过终端tar -zxvf命令解压到我们某个目录 3.然后依次执行./configure和make以及make install命令。 第二种、HomebrewHomebrew是一款非常强大的可以应用在MAC中的Linux管理包,如果上面的方法感觉比较麻烦,我们可以通过下面的方法解决。如果不会安装home...

2021-04-12 15:37:34 14

原创 FlinkSQL 依赖的pom/api.Table

<!--公共依赖版本号--> <properties> <flink.version>1.9.2</flink.version> <flink.scala.version>2.11</flink.scala.version> </properties> <!-- https://mvnrepository.com/artifact/org...

2021-03-22 10:30:55 111

转载 关于maven依赖中的<scope>provided</scope>使用

今天开发web的时候,需要用到servlet-api,于是在pom.xml中添加依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </depend

2021-03-18 10:16:01 59

原创 FlinkSQL split报错No match found for function signature 使用UDF ScalarFunction/TableFunction

1 用TableFunction报错,用ScalarFunction正常 stEnv.registerFunction("SplitLine",new SplitLine("_")); //报错SqlValidatorException: No match found for function signature SplitLine(<CHARACTER>) Table result = stEnv.sqlQuery("SELECT name,

2021-03-10 11:06:24 294

原创 Spark的 job stage task 的关系和划分

比如如下DAG:tansform11->tansform12(shuffle)->action1->tansform21->tansform22(shuffle)-> tansform23->tansform24(shuffle) ->action2如上,会启用2个job,第1个job执行【tansform11->tansform12(shuffle)->action1】,含有1个stage;第2个job执行【tansform21->t

2021-03-07 18:31:25 72

原创 Spark为何比MapReduce更快?Spark基于内存计算什么意思?

1 spark的task是线程,启动更快;mr的task是进程2 spark的很多操作是在内存进行,只有shuffle操作才会把数据落盘;mr的很多操作,包括shuffle,会把数据落盘3 spark的shuffle阶段对中间结果文件建立有索引文件,读取更快;mr对中间文件没有建立索引文件;4spark的shuffle阶段启用bypass时不会对中间结果文件进行排序;mr的shuffle阶段包含3次排序;5 spark可以对反复用到的数据进行缓存,避免多次加载花费时间;mr不能把多次用到..

2021-03-07 18:23:18 132

原创 Mapreduce中Shuffle 与 Spark中Shuffle 的区别 ?

Spark 1.2以后默认用SortShuffleManager不同点: MapreduceShuffle SparkShuffle map端大文件的索引文件 没有 有 map端输出的文件是否有序 有序 如果启用byPass机制则不会排序(),反之会排序 中间文件是否落盘 相同点:1 都是先写到内存,达到阈值时溢出多个小文件2 有多少个map会产生多少个大文件;上游stage...

2021-03-07 16:41:32 60

原创 mapreducce 任务过程 发生几次排序?/数据几次落盘?/数据几次merge?/数据几次读入内存?

发生几次排序?即发生3次排序:1 map spill到磁盘的小文件是有序的(达到阈值时,先对环形缓冲区的数据排序,然后spill到磁盘)2map spill到磁盘的多个小文件会合并成一个有序的大文件3 reduce copy后,把溢出的多个小文件合并成一个有序的大文件1快速排序,2/3是归并排序。数据几次落盘?1map spill到磁盘的小文件2reduce copy后,达到一定阈值时,会溢出多个小文件到磁盘数据几次merge?1 map端把溢出的多个...

2021-03-07 16:19:51 52

原创 Hive case when 符合多个条件 输出哪个?

select CASE when 1= 1 then 1 when 2=2 then 2 else 3 end as c1 ; -- 输出 1 第一个when符合条件时,则不会再往下进行其他when和else。Hive 2.0.0

2021-03-05 19:00:07 210

原创 distcp 复制到同路径下 复制到不同路径下

复制到同路径下:a/b/c1distcp -pt hdfs://a/b/c/2021-02-01hdfs://a/b/c/1900-01-01结果是:hdfs://a/b/c/1900-01-01/2021-02-012distcp -pt hdfs://a/b/c/2021-02-01/* hdfs://a/b/c/1900-01-01或者distcp -pt hdfs://a/b/c/2021-02-01/* hdfs://a/b/c/1900-01...

2021-03-03 22:00:58 78 1

转载 数据湖的优点 Data Lake VS Data warehouse / 数据湖与数据仓库的区别

数据湖的优点 提供不限数据类型的存储 开发人员和数据科学家可以快速动态建立数据模型、构建应用、查询数据,非常灵活。 因为数据湖没有固定的结构,所以更易于访问 长期存储数据的成本低廉,数据湖可以安装在低成本的硬件在,例如: 在一般的X86机器上部署Hadoop 因为数据湖是非常灵活的,它允许使用多种不同的处理、分析方式来让数据发挥价值,例如:数据分析、实时分析、机器学习以及SQL查询都可以。 Data Lake VS Data warehous..

2021-02-28 19:40:56 186

转载 spark 什么是数据湖? 什么是deltalake?

What is a data lake?A data lake is a centralized data repository that is capable of storing both traditional structured (row and column) data, as well as unstructured, non-tabular raw data in its native format (like videos, images, binary files, and more

2021-02-28 19:21:39 148 1

原创 Jstack 分析哪一行代码慢 ?jvm 打印出线程栈分析

面试题:后台只有一台服务器,上线后发现,只有1个接口请求很慢,其他接口的请求和反应时间很正常,该怎么分析?怎么找出是哪行代码导致的慢?是在线上,当然不能测试或单步调试。答案:打印出线程栈分析。举例:/** * @Author liuyazhou * @Date 2021/2/25 16:30 * @Version 1.0 * @Desc *//** * 同步线程 */class SyncThread implements Runnable { private

2021-02-27 18:44:30 126

转载 JVM 内存分析MAT使用方法

Shallow Size (对象自身占用的内存大小)Retained Size (被GC后Heap上释放的内存大小)with outgoingreferences(查看对象为什么消耗内存,查看对象引用的其他对象)with incoming references(查看对象被谁引用)https://www.cnblogs.com/hanlinhu/p/10174185.htmlMAT工具介绍工欲善其事必先利其器,学会使用工具也是一种本领。本篇文章就把自己之前工作中用到的一个内存分析工具.

2021-02-27 17:45:11 100

转载 JVM MAT分析器中的shallow heap 和 retained heap详解

shallow heap:对象本身的大小,如果是数组或集合则是各个元素的总大小。retained heap:对象本身的大小 + 引用的其他对象的大小。一个对象的shallow heap的大小指的是该对象在没有引用其他对象的情况下本身占用的内存大小。一个普通对象的shallow heap 的大小(不包括数组类型)依赖于它含的方法,元素的大小。而一个数组类型的shallow heap的大小则依赖于数组的长度和数组里面元素的类型。集合类型的shallow heap的大小则指的是集合所包含的所有对象的大小.

2021-02-27 17:28:12 122

原创 JVM 频繁full gc / oom内存溢出/ 分析工具 jmap/Jconsole 用法

分析解决方法:1 用JVisualVM 或Jconsole 分析 进程(不用jmap dump出镜像,JVisualVM功能比Jconsole强大)2 先用jmap dump出镜像,再导入mat分析-------------------------Java内存分析工具MAT(Memory Analyzer Tool)JVisualVM是一个集成多个JDK命令行工具的可视化工具。可以作为Java应用程序性能分析和运行监控的工具。Jconsole是JDK自带的监控工具,在JDK/b.

2021-02-27 12:47:02 129

原创 JVM性能监控于故障处理工具 jps/ jstat/jinfo/jmap/jhat/jstack/HSDIS/jconsole/jvisualvm

1 jps:虚拟机进程状况工具:查看当前运行的java进程id,后面的许多命令都是基于此命令找到pid再进一步排查问题。2 jstat:虚拟机统计信息监视工具,如每隔10s监视jvm的运行状态3 jinfo:用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。特别说明两个命令 -->jinfo -flag [ + | - ]name pid开启或者关闭对应名称的参数。使用 ji.

2021-02-27 12:38:36 42

原创 mac 如何查看 java程序的进程id ?

尝试在终端中使用ps aux | grep APP_NAME。92249 就是这个Java应用的进程id

2021-02-27 12:18:18 286

转载 数据结构 小顶堆建堆过程 构建过程

【一】简介最小堆是一棵完全二叉树,非叶子结点的值不大于左孩子和右孩子的值。本文以图解的方式,说明最小堆的构建、插入、删除的过程。搞懂最小堆的相应知识后,最大堆与此类似。 最小堆示例:【二】最小堆的操作最小堆的构建:初始数组为:9,3,7,6,5,1,10,2按照完全二叉树,将数字依次填入。填入完成后,从最后一个非叶子结点(本示例为数字6的节点)开始调整。根据性质,小的数字往上移动;至此,第1次调整完成。注意,被调整的节点...

2021-02-26 18:53:20 345

转载 Java cas 与 synchronized 的区别

1、对于资源竞争较少的情况:性能cas>synchronized,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源;而CAS基于硬件实现,不需要进入内核,不需要切换线程,操作自旋几率较少,因此可以获得更高的性能。2、对于资源竞争严重的情况:性能cas<synchronized,CAS自旋的概率会比较大,从而浪费更多的CPU资源,效率低于synchronized。转自https://www.cnblogs.com/everS..

2021-02-26 16:08:23 115

split_csv.sh

v6.csv有200多万行,excel的一个sheet最多显示104万行左右,显示不全,那么如何切分呢? 亲测可用

2020-03-21

android通过servlet与服务器验证用户信息

成功返回success,失败返回failed 1注意manifext.xml的权限 2 servlet project的类一定要extends httpservlet 3 servlet project中,com是包名,所以Tomcat是...classes/com/xxx.class 4 192.168.0.107是电脑的IP,需要手机电脑连接的是同一个wifi,电脑的防火墙一定要关闭

2016-03-26

mhd raw metaimage java读取类

亲测可用,mhd raw metaimage java读取类。mhd raw metaimage java读取类。mhd raw metaimage java读取类。

2017-10-18

commons-configuration-1.6.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration, 亲测可用

2016-07-08

全国省市县区域名称

省市县区域名称,例如: ................. 240: 云南省:昆明市 240864: 云南省 昆明市 东川区 240865: 云南省 昆明市 五华区 240866: 云南省 昆明市 呈贡县 240867: 云南省 昆明市 安宁市 ............

2015-11-17

htmlunit-2.31.jar

htmlunit-2.31,亲测可用!能很好的完成抓取需求,能够模拟输入、点击按钮、解析结果

2018-06-10

Navicate for Mysql

包含注册key,解压后即可使用,不用安装,方便快捷。包含注册key,解压后即可使用,不用安装,方便快捷。包含注册key,解压后即可使用,不用安装,方便快捷。包含注册key,解压后即可使用,不用安装,方便快捷。

2017-10-17

joda-time-2.3.jar

DateTime类型,方便使用

2016-11-17

commons-lang-2.5.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils问题

2016-07-08

拼图游戏C语言

拼图游戏开发,使用语言为C语言类,游戏开发,

2013-05-24

Struts2登录实例--亲测可用

Struts2登录实例--亲测可用,拦截器,Action,值栈......都用到了

2017-05-17

quartz定时任务

不用集成Spring,代码简洁,亲测可用

2017-05-20

二十六画生的博客的留言板

发表于 2020-01-02 最后回复 2020-01-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除