- 博客(61)
- 收藏
- 关注
原创 使用窗口函数求累计值时由于数据不能覆盖12个月份导致的问题
举例:科目一如果在8月份没有发生额,那么用窗口函数或者不等值关联去求每个月的累计发生额(8月份的累计发生额为1-8月份的发生额总和)时,8月份的累计发生额就求不出来。用如下方法可以避免上述情况。
2023-02-23 09:32:05 323
原创 postgresql炸裂详解
把表达式变成一个数组一般配合array_to_string()函数使用。相同id的连接到一起,逗号分隔。直接把一个表达式变成字符串。以逗号切分,转为数据集。
2022-07-19 16:47:43 598
原创 hive中使用order by时发现的小问题:Line 3:9 Invalid table alias or column reference ‘history_sort‘
执行的sql:select learning_position_id,learning_path_idfrom position_course_sortorder by history_sort,recommend_sort,hot_sort报错信息:FAILED: SemanticException [Error 10004]: Line 3:9 Invalid table alias or column reference 'history_sort': (possible column n
2021-12-14 15:12:08 1968
原创 Permission denied: user=anonymous, access=EXECUTE, inode=“/tmp/hadoop-yarn“:root:supergroup:drwxrwx-
ERROR : Job Submission failed with exception 'org.apache.hadoop.security.AccessControlException(Permission denied: user=anonymous, access=EXECUTE, inode="/tmp/hadoop-yarn":root:supergroup:drwxrwx--- at org.apache.hadoop.hdfs.server.namenode.FSPermi
2021-11-29 14:52:51 1173
原创 hive null值排序
create table zgc_0903_test( name string, money string, update_time string);insert into table zgc_0903_test values('AAA','200','2020-01-01 12:00:00'),('AAA','260','2020-02-01 12:00:00'),('BBB','100','2020-01-01 12:00:00'
2021-11-29 14:47:05 549
原创 VM安装的虚拟机如何在局域网内互相访问
笔者在本地Win10操作系统安装环境如下:VM 15 Pro安装CentOS7本章主要实现安装好的虚拟机需要被局域网其它机子访问到,下面开始配置网络,首先VM支持3种网络适配器模式:主机模式桥接模式NAT模式如果要实现虚拟机被局域网其它机子访问到,那么这里我们要选择桥架模式,具体设置如下:1、找到当前主机正常使用的网络适配器,右键右下角的wifi图标或网线图片 -> 打开网络和Interl设置,笔者这里出现如下图:2、然后单机以太网 -> 更改适配器选项,笔者这里出现类似如.
2021-09-17 09:24:37 5512
原创 报错kernel:NMI watchdog: BUG: soft lockup - CPU的解决办法
#!/bin/bash#修改阈值为30,写入文件echo 30 > /proc/sys/kernel/watchdog_thresh #修改阈值为30,临时生效sysctl -w kernel.watchdog_thresh=30#修改阈值为30,写入启动文件grep 'watchdog_thresh' /etc/sysctl.confif [ $? -ne 0 ]; then echo "kernel.watchdog_thresh=30" >> /etc/sysctl
2021-09-06 17:49:56 24449 4
原创 hive中dense_rank、row_number和rank函数
hive中三个排序函数rank、row_number、dense_rank日常中比较常用到,今天来说说三者的区别:1、rank()函数此排序方法进行排序时,相同的排序是一样的,而且下一个不同值是跳着排序的。2、row_number()函数此方法不管排名是否有相同的,都按照顺序1,2,3……n3、dense_rank()函数此方法对于排名相同的名次一样,且后面名次不跳跃案例:数据结构如下:代码实例:--三种函数进行对比--rank:select id ,name
2021-08-16 14:13:47 582
原创 sqoop抽取数据从oracle到hive的示例以及一些问题的解决方法
sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true –connect jdbc:oracle:thin:@10.253.253.111:1521/testdb –username nc65test8 –password nc65test8 –table FA_USINGSTATUS –hive-import –hive-table ods.fa_usingstatus –delete-target-dir –as
2021-07-20 17:54:50 611
原创 判断一个数是否为回文数,给一个数求出是几位数
package arithmetic;/** * 判断一个是不是回文数。 * 判断是否为回文内容 * 给一个数求出是几位数 * * @author sunRainAmazing * */public class PalindromeNumber { public static void main(String[] args) { isPalindromeNumber_array(1); isPalindromeNu
2021-07-01 11:21:45 181
原创 如何查看mysql数据库各个表数据占用空间大小?
首先进入mysql数据库打开information_schema这个库找到tables 这张表,如下图所示:– 查询所有库的信息select * from information_schema.tables;通常情况下,只需要 当前库的数据的大小,因此要知道下面的字段的含义table_schema 库名table_name : table_schema库下对应的表名engine: 表的引擎version: 当前版本table_rows: table_name表对应的记录数d
2021-07-01 10:30:34 769
原创 Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC
今天在对MySQL数据库进行数据处理时,遇到一个错误:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help.我处理的这张表有400列,有大量的VARCHAR和TEXT列,以前遇到过该表中VARCHAR总长度超过65532的错误,第一眼看到,误以为是VARCHAR超长的问题。【尝试一】于是我把一
2021-06-28 15:44:31 1320
原创 Sqoop中的坑
数据库的密码如果有特殊字符,比如–password ‘1qaz!QAZ’ ,则需要加引号不然会报错 Access denied for user ‘root’@‘localhost’ (using password: NO)
2021-06-24 17:37:46 157
原创 Hdfs 数据块丢失处理
1、查看节点、hdfs、丢失的数据块 命令:hadoop dfsadmin -report用这个命令可以快速定位出哪些节点down掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。当然NameNode有个http页面也可以查询,但是这个命令的输出更适合我们的脚本监控dfs的使用状况;具体如图:[root@linux01 ~]# hdfs dfsadmin -reportConfigured Capacity: 54716792832 (50.96 GB)Present Capacit
2021-06-15 13:47:46 2259
原创 VMware下LINUX的虚拟机增加磁盘空间
先关闭虚拟机电源,做如下设置:“ 虚拟机”–“虚拟机设置”–“磁盘”–“扩展”可以随意添加你需要增到到的磁盘大小(如15Gb,表示磁盘总量,包含原来的磁盘容量); 再重启电源进入系统做如下步骤设置。启动虚拟机系统,用root登录(后续所有步骤都应以root用户身份登录操作),在 命令行用fdisk -l查看。由于这里是直接修改了原始空间大小,因此可以看到/dev/sda空间改变为16.1GB(原磁盘空间从10G增加到15G)。如果是从VMware菜单里增加虚拟硬盘,则会多出一个/dev/sd?,这里
2021-06-15 11:06:29 277
原创 Linux 根目录满了解决方法
今天正在做一个实验,突然发现根目录满了,把这个过程记录下来(当初创建的时候给根目录分配的磁盘太小了.ahhhhh)这是目前的磁盘情况我查看了一下磁盘/dev/sda还有空余的空间这种情况下,我只需要扩展vg的容量,然后给lv扩容即可,首先进行/dev/sda的磁盘分区,记得把新分的区改成8e[root@centos7 ~]# fdisk /dev/sda[root@centos7 ~]# partprobe /dev/sda #使kernel重新读取分区 信息,从而避免重启系统。
2021-06-15 10:55:08 2483
原创 hive注释中文乱码问题
在hive中创建表 , 表中的字段注释是中文注释create external table movie(userID int comment '用户ID',movieID int comment '电影ID',rating int comment '电影评分',timestamped bigint comment '评分时间戳',movieName string comment '电影名字', movieType string comment '电影类型', sex string comm
2021-06-15 10:44:32 126
原创 Oracle中删除表(drop,truncate,delete)
drop命令drop table 表名;例如:删除商品表drop table commodity;注意: 1.用drop删除表数据,不但会删除表中的数据,连表结构也被删除了!truncate命令truncate table 表名;例如:删除商品表truncate table commodity;注意: 1.用truncate删除表数据,只是删除表中的数据,表结构不会被删除! 2.删除整个表的数据时,过程是系统一次性删除数据,效率比较高 3.
2021-06-09 14:02:02 14747
原创 Markdown编辑器
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-06-09 13:56:50 137
原创 时间维度表的生成
前言:今天和小伙伴们分享下时间维度表的应用,先说个简单的业务场景,有一张记录的用户注册信息,然后想在后台管理系统中开发一个可以看到每天注册用户数量的图表统计功能,那么你会怎么处理呢?正文:一、模拟场景1.我们先看下用户表的数据2.然后根据这张表开始查询每天的用户注册数据量select count(1) as registerNum, gmt_date from user GROUP BY DATE_FORMAT(gmt_date,’%Y-%m-%d’)查询结果:我们会发现一个问题 ,虽然
2021-05-18 11:31:24 811
原创 hive中 order by,sort by和cluster by的区别
order by全局排序sortby 区内排序 通常与distribute by 连用(distribute by 是用来指定分区字段的)cluster by如果sortby 和distribute by 后面跟的是同一个字段,可以用cluster by代替,但是cluster by只能默认升序,如果指定desc(降序)会报错....
2021-05-11 16:54:22 150
原创 将maven项目打包在集群中运行MR程序时类找不到问题
hadoop jar /demo.jar com._51doit..wc.WordCountDriver这个命令会运行/demo.jar 中的 com._51doit..wc.WordCountDriver 类并且会将hadoop mr程序所需要的jar包,HDFS所需要的的jar包,yarn的jar包统统加载到这个classpath下
2021-04-30 16:50:31 284 1
原创 MAXCOMPUTER一键注册包含第三方依赖的UDF函数
MAXCOMPUTER一键注册包含第三方依赖的UDF函数在maven的pom文件中添加如下的打包插件依赖<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</ar
2021-04-28 10:59:57 549
原创 文本
-文本分成两种,一种叫做纯文本,还有一种叫做富文本-纯文本中只能保存单一的文本内容,无法保存内容无关的东西(字体、颜色、图片...)-富文本中客户以保存文本以外的内容(最典型的富文本:word文档)-在开发时,编写程序使用的全都是纯文本!-纯文本在计算机底层也会转换成二进制保存, 将字符转换成为二进制码的过程,我们称为编码 将二进制码转换成为字符的过程,我们称为解码...
2021-04-02 17:04:12 140
原创 排列组合基本原理及公式
1.加法原理与乘法原理加法原理:完成一件事情,需要划分几个类别,各类别中的方法可以独立完成这件事情。当这种分类没有重复、没有遗漏时,完成这件事情的方法总数等于每一类方法数之和。【示例】从A地到B地,有3个车次的火车,有5趟汽车,2班飞机。那么从A地到B地一共有3+5+2=10种方法。乘法原理:完成一件事情,需要分为几个步骤,每个步骤内的方法刚好完成该步骤,所有步骤实施完毕刚好完成这件事,则完成这件事情的方法总数等于每一个步骤的方法数之积。【示例】从A地到B地需在C地转机,已知从A地到C地有4
2021-04-02 17:01:39 1086
原创 常用dos命令
dir 查看当前目录下的所有文件和文件夹cd 进入到指定目录. 表示当前目录.. 表示上一级目录md 创建一个目录rd 删除一个目录del 删除一个文件cls 清除屏幕
2020-11-09 13:01:22 270
原创 ODPS 插数据至指定分区示例
insert intotable test_xx PARTITION (pt = '20201108')SELECTrequest_id ,request_info_id ,request_code ,request_name ,phase_code ,status_code ,business_groupFROM SRM_BI_dev.srm_fnd_concurrent_requestwhere pt = '20201108';
2020-11-09 10:50:52 2013
原创 Character.isWhitespace
判断是否是空字符 空格(含中英文),换行,tab键都算空Character.isWhitespace(’ ‘);Character.isWhitespace(’\n’);Character.isWhitespace(’\t’);
2020-11-04 16:58:14 461
原创 StringUtils里的isEmpty方法和isBlank方法的区别
前言我们常说的字符串为空,其实就是一个没有字符的空数组。比如:String a = "";a 就可以称为是一个空字符串。由于 String 在 Java 中底层是通过 char 数组去存储字符串的,所以空字符串对应的 char 数组表现形式为private final char value[] = new char[0];但实际工作中,我们需要对字符串进行一些校验,比如:是否为 null,是否为空,是否去掉空格、换行符、制表符等也不为空。我们一般都是通过一些框架的工具类去做这些判断.
2020-11-04 16:57:48 729
原创 窗口函数 PERCENT_RANK
说明–PERCENT_RANK:分组内当前行的RANK值-1/分组内总行数-1查询语句select dept, userid, sal, percent_rank() over (order by sal) as rn1, --分组内 rank() over (order by sal) as rn11, --分组内的rank值 sum(1) over (partition by null) as rn12, --分组内总行数 percent_rank()..
2020-11-04 14:59:39 1392 1
原创 窗口函数 CUME_DIST
说明–CUME_DIST:小于等于当前值的行数/分组内总行数查询语句比如,统计小于等于当前薪水的人数,所占总人数的比例select dept, userid, sal, cume_dist() over (order by sal) as rn1, cume_dist() over (partition by dept order by sal) as rn2from cookie.cookie3;查询结果结果说明rn1: 没有partiti.
2020-11-04 14:55:29 501
原创 窗口函数cluster_sample
命令格式:boolean cluster_sample(bigint x[, bigint y]) over(partition by col1[, col2..])用途:分组抽样参数说明:x:Bigint类型常量,x>=1。若指定参数y,x表示将一个窗口分为x份;否则,x表示在一个窗口中抽取x行记录(即有x行返回值为true)。x为NULL时,返回值为NULL。y:Bigint类型常量,y>=1,y<=x。表示从一个窗口分的x份中抽取y份记录(即y份记录返回值.
2020-11-04 14:48:49 1222
原创 decimal这个数据类型的用法
decimal(18,0),数值中共有18位数,其中整数占18位,小数占0位。baiDecimal(n,m)表示数值中共有n位数,其中整数n-m位,小数m位。例:decimal(2,1),此时,插入数据“12.3”、“12”等会出现“数据溢出错误”的异常;插入“1.23”或“1.2345...”会自动四舍五入成“1.2”;插入“2”会自动补成“2.0”,以确保2位的有效长度,其中包含1位小数。当用 int类型会有溢出时,可以用 decimal 类型进行处理,把结果可以用 convert 或是 cas
2020-11-04 14:32:30 3290
原创 正则表达式^和$有什么用?
这里^匹bai配要检索的文本du的开头,$匹配文本的结束。zhi^[a-z]$匹配的情况是你检索的文本只有dao一个小写字母的情况,而[a-z]匹配文本里所有的小写字母。例如:regex = "(^[a-z]+)([0-9]+)([A-Z]+$)";和 regex = "([a-z]+)([0-9]+)([A-Z]+)";匹配a1234A, 都是True.但匹配以下例子, 第一个是False, 第二个是TrueABCa1234Aa1234AabcABCa1234Aabc
2020-11-04 14:03:40 530
原创 SQL中的coalesce函数
coalesce(arg1, arg2,arg3,arg4......);该函数的含义是返回最近的一个为非空值的值.例:(1)coalesce(1, 2,3); --return 1 (2)coalesce(null,2,3); --return 2 (3)coalesce(null,null,3); --return 3 (4)coale...
2020-11-04 09:39:23 299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人