- 博客(45)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 Hive分区
查看hive表所有分区:show partitions table_name;查看hive表最新分区:SELECT max(partition_name) from table_name;查看hive表最老分区:SELECT min(partition_name) from table_name;
2021-12-10 14:30:37 1432
原创 Hbase Java查询API
问题1在网上找到的一些API有些是已经过期的,虽然可以用,但弃用了还是有原因的。比如HTableDescriptor对于已经弃用的类或方法,点new后面的构造器 进去看源码,可以看到注释说明该方法有bug,并附上链接,可以自己选择要不要看一下哈。 /** * Construct a table descriptor specifying a TableName object * @param name Table name. * @see <a href=.
2021-08-19 15:46:09 695 1
原创 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
mac终端登录远程服务器时报错,报错信息如下:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!原因:首次ssh登录时会生成认证,一般远程服务器重装时认证会失效解决方法:执行以下命令可以解决ssh-keygen -R 服务器IP重新登录时会提示是否 continue,输入 yes登录成功参考:https://segmentfault.com/a/1190000008679848...
2021-07-22 19:53:37 178
原创 Flink中TaskManager、Slot和Parallelism
概念简介JobManager:负责接收Flink Client提交的Job,并将Job分发到TaskManager执行,一个JobManager包含一个或多个TaskManager。TaskManager:负责执行Client提交的Job。每个TaskManager可以有一个或多个slot,但slot的个数不能多于cpu-cores。slot:slot是Flink任务的最小执行单位,并行度上限不能大于slot的数量。slot是可以数量设置slot数量:slot的数量一般小于等于TM可用的
2021-05-24 21:18:18 3580 3
原创 FlinkSQL时间更新问题
java.util.concurrent.TimeoutException: The heartbeat of TaskManager with id container_e26_1597048467840_3275_01_000003 timed out. at org.apache.flink.runtime.resourcemanager.ResourceManager$TaskManagerHeartbeatListener.notifyHeartbeatTimeout(Re...
2021-05-20 18:05:34 839
原创 Hadoop与Spark对比
Hadoop提到Hadoop大的方向一般包括两部分一部分是Map Reduce计算引擎,一般说Hadoop的缺点就是说的这部分 另一部分是HDFS存储,目前应用还是很广泛Map Reduce的缺点只能进行Map和Reduce操作 中间计算结果要保存再磁盘,反复读取IO操作会消耗大量资源 Reduce操作在Map之后,需要等并行的所有Map任务完成之后才能进行Reduce操作 以上2和3导致Hadoop延迟较高Sprk针对MapReduce缺陷的改进除了Map和Reduce操作还包
2021-05-06 18:06:30 113
原创 Spark数据倾斜
什么是数据倾斜当某个任务相较于其他任务来说,迟迟执行不完时,很可能就是产生了数据倾斜。比如,绝大部分任务十几秒中就执行完成了,而个别任务一小时甚至更久还没有执行完成。spark任务执行结束取决于最晚结束执行的stage。stage的划分可以简单的理解为:遇到宽依赖是当前stage的结束,也是下一个stage的开始。宽依赖(Wide Depencency,也称为Shuffle Depencency):子任务需要依赖父任务的全部分区。窄依赖(narrow dependency):父RDD的一
2021-04-30 16:18:22 116 1
原创 Spark 的三种join方式
参考博客:https://blog.csdn.net/qq_23609603/article/details/108250141Spark的join实现方案有三种:hash join broadcast hash join shuffle hash joinhash join确定 小表(Bulid Table)和 大表(Probe Table),利用小表 根据 key 进行hash,建立hash table,大表同样对key进行相同的hash,映射hash table中的记录,如果映射成.
2021-04-29 18:34:07 786
原创 Flink SQL 使用ROW_NUMBER()报错
报错信息org.apache.flink.table.api.TableException: GroupWindowAggregate doesn't support consuming update and delete changes which is produced by node Rank(strategy=[UndefinedStrategy], rankType=[ROW_NUMBER], rankRange=[rankStart=1, rankEnd=1], partitionBy=[
2021-04-22 21:05:13 6598 4
原创 hive计算周是一年的第几周
函数weekofyear 可以直接计算当前周属于年的第几周对于跨年周,以当前周所在年天数多的年为准。即一周大于等于4天时间在上一年,则为上一年的最后一周,否则为新年的第一周查询语句查询结果附日历 以上 周 指自然周(周一到周日为一周)业务需要,我们的周为业务周,周日到周六为一周,判断业务周围年的第几周,周日这天需要特殊处理。如果是非跨年周,周日直接算作自然周所在周的下一周;如果是跨年周,周日所在周分两种情况,1跨年周天数在新的一年天数较多,比如2018年的这...
2021-01-19 11:01:09 6586
原创 hive分区表插入数据
插入语句insert into table 库名.表名 partition(【分区列名】= 【分区值】) values (column_value1,column_value2,column_value3,......)示例:insert into table app.app_crm_bd_home_data partition(dt = '2020-09-06') values(623709,10768,14,62,20200907,10,4);hive表新增字段,示例alte.
2020-09-29 15:49:25 8566
原创 php获取近n天的日期
获取近n天的日期 /** * 获取date及其前n天之间的所有日期(包含date本身) * @param $n * @param $date 时间戳 * @return array */ public static function getRecentNDays(int $n, $date){ $rangeDate[] = $date; for($i = 1; $i < $n; $i++){
2020-09-09 17:16:32 203
原创 php获取近N个月当天的日期
获取近n个月每月第m天的日期 /** * date为本月第m天,则返回近n月每月第m天的日期 * @param int $n * @param $date * @return array */ public static function getRecentNMonthDays(int $n, $date) { $rangeDate[] = $date; $day = date("d",strtot
2020-09-09 17:13:02 228
原创 php获取近N个月的最后一天
获取近N个月的最后一天 /** * 获取近N个月的最后一天 * @param int $n * @param $date * @return array */ public static function getRecentMonthEnds(int $n, $date) { $rangeDate[] = $date; for($i = 1; $i < $n; $i++){
2020-09-09 17:10:39 142
原创 php获取某天所在月的天数
获取某天所在月的天数 /** * 获某天所在月的天数 * @param int $n * @param $dateKey=20200908 * @return int */ public static function getMonthDays($dateKey) { return (int)date('t', strtotime($dateKey)); }...
2020-09-09 17:09:46 199
原创 Flink的两种基本状态
Flink的两种基本状态Flink包含两种基本的状态 Keyed State 和 Operator StateKeyed StateKeyed State 通常和 key 相关,仅可使用在 KeyedStream 的方法和算子中。你可以把 Keyed State 看作分区或者共享的 Operator State, 而且每个 key 仅出现在一个分区内。 逻辑上每个 keyed-sta...
2020-04-12 17:56:54 1586
原创 Flink连续查询中的join
Joins in Continuous Queriesjoin是批量数据处理中连接两个关系的行的常见且易于理解的操作。 但是,动态表上联接的语义不那么明显,甚至令人困惑。因此,有两种方法可以使用Table API或SQL实际执行联接。有关语法的更多信息,请检查Table API和SQL中的连接部分。Regular Joins常规join Time-windowed Joins...
2020-04-01 23:10:52 615
原创 Scala实现策略模式
Scala知识准备=> 的应用场景1.表示函数的返回类型,比如定义一个函数变量,Int表示函数x的返回类型 def multi(x : Int):Int = x * 3 val x : Int => Int = multi println(x(4))2.定义匿名函数 => 左边是入餐,右边是函数体val fun = (x: Int) ...
2020-03-22 19:11:07 587
原创 flink项目启动报错
参考博客:https://blog.csdn.net/qq_43048011/article/details/85625959Flink项目启动报以下错误Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: Job execution failed. at org.apache...
2020-02-10 11:33:48 1120
原创 hive解析key值包含数组的json
一般的json直接 get_json_object(column,'$.key') 可以直接取出对应字段column:存储json的列key:json中的key代码事例: select company_id ,tag_manage ,get_json_object(tag_manage,'$.SERVICE_PROMISE')...
2020-01-08 21:17:51 3067 2
原创 spark打印RDD的值
初学spark,记录一些小白问题,比如打印RDD或者list的值 val conf = new SparkConf().setAppName("my spark").setMaster("local") val sc = new SparkContext(conf) val data = sc.parallelize(1 to 10, 3) println("f...
2019-11-24 17:25:11 2613
原创 行转列collect_set
先介绍下字符串拼接函数concat(str,str2,str3,......)函数中可以拼接任意个字符串,若其中有一个参数为null则返回结果为nullconcat_ws(seperator,str1,str2,str3......)第一个参数为分割符,后面的参数为需要拼接的字符串,其中为null的参数不会被拼接,返回结果不为null行转列collect_set一般配合...
2019-11-24 10:48:22 395
原创 row_number()开窗函数
开窗函数row_number() over(partition by column_1 order by column_2)partition by表示根据column_1进行分组,order by表示根据column_2在column_1的分组下进行排序,其中row_number() 表示会为排好序的每一行新增连续的行号。不同于rank(),rank()方法会为每行增加行号,但是如果遇到排...
2019-11-22 15:15:14 6164
原创 from_unixtime和unix_timestamp
项目中hive库数据表是按时间进行分区的,两种格式,string '2019-10-21' ,int 20191021当两张表分区字段类型不同进行各种join操作时,会出现类型不匹配的错误,这时就需要把两种格式统一方案一:(将‘2019-10-20’转换为20191020,结果为string类型,需要将int 20191020转换为string)from_unixtime(unix_t...
2019-10-21 16:26:35 536
原创 mysql-5.7.18-winx64在win10环境下的安装
mysql-5.7.18-winx64的免安装版只需要配置环境变量就好。一般按照网上的步骤下来也没啥问题,但是我装好之后第二天发现Mysql启动不了。 于是百度,在【控制面板】- 【管理工具】-【服务】中找到Mysql,右键启动,报如下错误。 继续百度,在D:\softwares\mysql-5.7.18-winx64\目录下创建空的名为【data】的文件夹(之前安...
2019-08-07 17:50:56 162
原创 Scala-Spark-maven项目搭建
学习大数据的最开始,从项目搭建开始。maven、scala以及spark的安装这里不做说明,介绍一个偷懒的项目搭建方法。1、首先创建一个scala项目,File->New->Project2、选择Scala项目(图中的sbt和maven一样,是一种构建项目的另一种方法)3、选择安装的jdk和Scala版本,起好项目名称,保存到期望的目录下4、copy一...
2019-07-15 18:23:58 438
转载 dubbo的负载容错机制
摘自博客:https://www.cnblogs.com/xhj123/p/9087532.htmlDubbo提供了多种容错方案,缺省模式为failover,也就是失败重试。1、Failover Cluster:失败重试当服务消费方调用服务提供者失败后自动切换到其他服务提供者服务器进行重试。这通常用于读操作或者具有幂等的写操作,需要注意的是重试会带来更长延迟。可通过 retries="...
2019-03-29 22:40:31 144
转载 dubbo的负载均衡策略
摘自博客:https://www.cnblogs.com/xhj123/p/9087532.html当服务提供方是集群的时候,为了避免大量请求一直落到一个或几个服务提供方机器上,从而使这些机器负载很高,甚至打死,需要做一定的负载均衡策略。Dubbo提供了多种均衡策略,缺省为random,也就是每次随机调用一台服务提供者的机器。Dubbo提供的负载均衡策略Random LoadBalan...
2019-03-29 22:30:57 200
原创 Maven Helper解决jar包冲突的插件
之前在搭建项目时,总是遇到jar包冲突,关键是你都不知道是谁和谁冲突了。maven自带的jar包依赖分析功能也是可以解决问题的,但是我的版本并没有这个功能。当时并不知道这个插件,生成的jar包依赖树去看的,对,没错,是用肉眼看。 偶然发现Maven Helper,虽然现在用不到,但是先装上再说。如下图:咦,没有,表捉急,点中间的蓝字,Search in ...
2019-03-19 15:20:19 1707
原创 Callable获取返回值
最近在写一个统计任务,恩,也不算最近了,过去一个多月了都。任务要求,每周日凌晨之前统计用户总数及增长量,因为是分库分表的,统计维度要求到库级别和表级别。大致实现思路,滚动时,每个表开一个线程做COUNT操作,因为要统计库级别的数据,所以需要等到所有线程结束后拿到所有线程的返回值,进行累加。(至于这里为什么滚动表的时候都要开一个线程,其实不开线程也OK的,但是,这种线程获取返回值的还没有用过...
2018-12-25 15:35:25 7471
原创 Nginx配置文件简介
在大叔的不断督促下,终于开始看了一丢丢的nginx,还要养成做笔记的习惯,不然大叔说再不要我见他了,哎。下面这张图就是我每天的状态,对,没错,快要掉下悬崖的那个是我,不说了,开始笔记。笔记均参考自:http://jspang.com/post/nginx.html#20-L1nginx的配置文件:nginx的启动方法:1、nginx :直接启动,centOs7版本以上才可...
2018-12-09 17:14:15 88
原创 SQL_NO_CACHE
SQL_NO_CACHE网络上看了解释,不是很明白,自己试验了下:结论SQL_NO_CACHE只是不会将查询结果放进缓存,如果第一次查询时没有使用SQL_NO_CACHE,后面查询时使用SQL_NO_CACHE结果还是会从缓存中获取。试验结果:试验一:1、SELECT SQL_NO_CACHE count(1) FROM `cc_member_card_main_info_0`...
2018-12-08 21:55:36 1392 1
原创 A left join B 和 B right join A
先说结论,A left join B 和 B right join A效果是一样一样的。left join(左链接)where条件语句只影响右表,右表存在符合条件的记录则展示,否则为null,右表多出的数据不展示。右链接雷同。例:表a,用户信息表,表b,用户的积分流水记录表。left join:SELECT a.merchant_id,a.member_id,a.wid,...
2018-10-08 11:23:45 8253
原创 项目部署内存不足 Cannot allocate memory
现象:启动报错# There is insufficient memory for the Java Runtime Environment to continue.# Native memory allocation (malloc) failed to allocate 536870912 bytes for committing reserved memory.# An error r...
2018-09-28 13:58:39 17340
原创 finally无论是否遇到return都会被执行
finally中的代码块是无论怎样都会被执行的,那么如果遇到return呢,还会被执行吗?答案是,会的。return就意味着要结束方法体了,finally又是无论怎样都会被执行的,所以可以认为finally代码块是在返回之前执行的。上代码:public class TestsForAny { public static void main(String[] args) ...
2018-09-26 18:16:14 811
原创 SelectKey returned more than one value
问题:使用mybatis进行插入操作时一直报错,报错具体信息如下图,但是数据插入成功了,其他查询更新操作不会有问题。解决方案:网上百度好多方法是说查询操作时返回结果多于期望的一条,但姐姐是插入操作呢,蒙圈。猜测应该是和主键自动生成有关系了,查看数据表对应的实体类,发现主键字段使用了注解@GeneratedValue(strategy = GenerationType.IDENT...
2018-08-15 17:19:46 3395 1
原创 Date时间类型转换为JSON字符串时,会展示为Long类型
背景:通过http接口返回含有Date类型的数据给业务方,业务方反馈时间类型展示为Long。检查代码确认数据是Date类型,Json返回是Long,main方法跑一下:public static void main(String[] args) { User uBefore = new User(); uBefore.setBirthday(new Date()); Str...
2018-07-09 17:42:11 5291
springMVC后台接收到参数了,有值,但是一直报空指针
2017-03-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人