- 博客(87)
- 收藏
- 关注
原创 maven打包缺少依赖 class xxx for user defined function to_pinyin failed to load
1. 问题报错:FAILED: ODPS-0130071:[1,8] Semantic analysis exception - class xxx for user defined function xxx failed to load.Some dependencies are missing. Detail messages are: net/sourceforge/pinyin4j/format/exception/BadHanyuPinyinOutputFormatCombination2.
2022-05-17 16:45:06
902
1
原创 mysql order by limit 1 和max的比较
在一个数据的需求中,去用order by+limit和 max两种方式求数据的最大值时,发现在同一过滤条件下order by limit执行速度要比max快。然后从一下两个角度对问题进行来思考。1.查看执行计划,在mysql中发现两者之间的时间是一致的2.order by和where的执行顺序是否是先做的order by,而后一条sql语句需要先过滤导致执行速度很慢。tips:该问题暂时未解决。...
2021-10-14 08:38:50
4969
原创 剑指 Offer 10- I. 斐波那契数列---hammring
1.题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n...
2021-09-05 00:59:35
121
原创 list转二叉树的实现
思路:首先需要考虑使用什么样的数据结构来进行转换,比如说是要栈还是队列,从线性结构转换为非线性结构。1.将数组转为list对象。该list应该为双向队列的线性结构。2.判断先出来的对象是否为空,空则不处理,否则创建二叉树对象。(二叉树很多时候可以采用递归的方法实现)具体代码实现: public static void main(String[] args) { //创建linkedlist对象,类似于双向队列(先进先出) LinkedList<In
2021-07-22 12:47:54
1090
2
原创 hql中的聚合函数
hql函数的输入与输出是多对一的关系,即将多条输入记录聚合成一条输出值。可以与hql中的group by语句混合使用。函数 功能 avg ...
2021-06-14 23:54:59
949
1
原创 Leetcode 88. 合并两个有序数组
1.题目描述给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。初始化nums1 和 nums2 的元素数量分别为m 和 n 。你可以假设nums1 的空间大小等于m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]示例 2:输入:nums1...
2021-05-27 15:09:25
97
原创 面试题:大数据开发面试题
1.hive中常见的文件格式有哪几种,为什么使用这几种文件格式2.scala中的闭包是什么3.shell中$的作用4.hashmap中扩容机制,为什么hashmap是线程不安全的?5.spark中怎么计算task的数量6.hbase中rowkey的设计原则,7.rowkey是设计为int型还是string型8.habase的设计方法是什么样的,使用列簇的存储方式有什么好处?9.在一个有序数组中查找目标值,有几种方法...
2021-05-21 09:41:41
150
原创 linux命令$详解
$n的作用:$$:Shell本身的pid$!:shell最后运行的process的PID$?:最后运行命令的结束代码(返回值)$-:使用set命令设定的flag一览$*:所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@:所有参数列表。如"$@"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$#:添加到Shell的参数个数$0:Shell本身的文件名$1~$n:添加Shell的各参数值。$1是第一个参..
2021-05-20 19:03:56
967
原创 Flume基础:source,sink,channel
Flume是向Hadoop批量导入基于事件的海量数据。一个典型的例子就是从一组web服务器中收集日志文件,然后把这些文件中的日志事件转移到一个新的HDFS汇总文件中作进一步处理,其终点通常被称为HDFS.Flume代理是由持续运行的source(数据源)、sink(数据目标)以及channel(用于连接sink和source)构成的java进程。Flume的source产生事件,并将其传送给channnel,channel存储这些事件直至转发给sink。可以把source-channel-sink.
2021-05-14 17:48:19
686
原创 Spark中的Transformation和action算子
RDD中的所有转换都是延迟加载的,也就是说,他们并不会直接计算结果。相反的,他们只是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求返回结果给Driver的动作时,这些转换才会真正运行。这种设计让Spark更加有效率的运行。常见的Transmation:map(func) 返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成filter(func) 返回一个新的RDD,该RDD由经过func函数计算后返回值为true的输入元素组成flatMap(fu
2021-05-09 00:36:30
188
原创 数仓之事实表和维度表
维度表:维度表示你对数据进行分析时所用的一个量,比如你要分析产品销售情况,你可以选择按区域来划分,或者选择按类别进行分析。这样的按。。。。分析就构成了一个维度。事实表:数据聚合后依据某个维度生成的结果表,事实表是用来储存主题的主干内容的,以日常工作内容举例,工作量可能具有如下属性:工作日期,人员,工作时长,加班时长,工作性质,是否外勤,工作内容,审核人,其中工作时长,加班时长为主干,是工作量主题的基本内容。而工作日期,人员,工作性质,是否外勤是可以被分类的,如日期可以分为年-月-日,所以把能够.
2021-05-09 00:15:36
737
原创 面试:HashMap的原理
从leetcode137.只出现一次的数字 || 来看HashMap的原理进行讲解。1.题目描述给你一个整数数组nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,99]输出:992.解题思路1.)使用HashMap用<key,value>的形式存储键值对,一个键值对为一个entry.把整个数组.
2021-05-03 11:26:26
131
原创 Leetcode 377. 组合总和 Ⅳ
1.题目描述给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。示例 2:输入
2021-05-01 00:24:45
104
1
原创 面试:b树和b+树问题的总结
1.B树和B+树的区别B树每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nullB+树只有叶子节点存储data,叶子节点包含了这棵树的所有键值,叶子节点不存储指针。2.为什么数据会存在B+树的叶子节点降低数的高度,减少层级,减少回表次数,有利于范围查询以及数据的查询加载效率,3.说说InnoDB是什么样的data存的是数据本身,索引也是数据,数据和索引存在一个xxx,idb文件中,所以也叫聚集索引。4.B+树中单链表和数组的区别使用单链表的优点
2021-04-23 09:55:13
854
原创 Hbase shell命令
Hbase shell有一些常用的命令,列出几个常用的Hbase命令:名称 命令表达式 查看存在哪些表 list 创建表 create '表名称',‘列名称1’,‘列名称2’,‘列名称3’ 添加记录 put '表名称',‘行名称’,‘列名称’,‘值’ 查看记录 get '表名称',‘列名称’ 查看表中的记录总数 count '表名称' 删除记录 delete'表名称',‘行名称’,‘列名称’, 删除一张表 分为两步 1.
2021-04-14 16:40:35
94
原创 mod函数
mod(n,m)该函数返回n除以m的余数需求:分别找出所有影片id 为奇数 ,偶数的影片,表名为cinemaid movie raing 1 war 8.9 2 science 9.0 3 irish 7.3 4 house card 8.0 输出结果为id movie raing 1 war 8.9 3 irish 7.3 ...
2021-03-30 00:00:50
1147
原创 Linux scp命令详解
从一个服务器传送文件到另一个服务器sudo scp /var/lib/mysql/database/ods_table_one.frm xxx.xxx.xxx.xx:/var/lib/mysql/ods_000/从一个服务器传送文件夹到另一个服务器sudo scp -r /var/lib/mysql/ods_table xxx.xxx.xx.xx:/var/lib/mysql/...
2021-03-23 14:21:48
149
原创 linux查看硬盘分区大小,查看活动的进程
1.显示已挂载的分区列表df -h 或df -BM2.以文件或目录大小正序排序ls -lSr3. 估算某目录占用的硬盘空间du -sh DIR DIR目录名4. 查看tomcat的活动进程(其他进程的查看方法与此类似)ps -df | grep tomcat查看tomcat的活动进程个数ps -ef | grep tomcat | wc -l...
2021-02-27 09:19:04
427
原创 yum源的安装方式
1.更新yum源httpd#更新yum源httpdyum -y install httpd#查看httpd状态systemctl status httpd.service#启动httpdservice httpd start#配置httpd永久生效(重启生效)chkconfig httpd on2.更新yum源yum-utils#更新yum源yum-utils createrepoyum -y install yum-utils createrepo#进入yum源路径cd
2021-02-27 09:08:33
660
原创 Hive sql 列转行 (Lateral View + explode)
需求:id listA 大象|狮子B 老鹰|鸭子|企鹅|麻雀C 乌龟|螃蟹|小龙虾|皮皮虾|鲸鱼|海豚转成如下格式:id nameA 大象A 狮子B 老鹰B 鸭子B 企鹅B 麻雀C 乌龟C 螃蟹C 小龙虾C 皮皮虾C 鲸鱼C 海豚实现思路:1.建表animal_info...
2021-01-12 11:29:33
470
原创 Leetcode195. 第十行---hammring
1.题目描述给定一个文本文件file.txt,请只打印这个文件中的第十行。示例:假设file.txt 有如下内容:Line 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 10你的脚本应当显示第十行:Line 10说明:1. 如果文件少于十行,你应当输出什么?2. 至少有三种不同的解法,请尝试尽可能多的方法来解题。2.bash代码NR在awk中代表文本文件的行数NF代表的是一个文本文件中...
2020-12-30 11:27:12
79
原创 Leetcode192. 统计词频----hammring
1.题目描述写一个 bash 脚本以统计一个文本文件words.txt中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和' '。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排列):the 4is 3sunny 2day 12.3.bash代码如下:ca...
2020-12-28 16:14:43
197
原创 Leetcode 738. 单调递增的数字--hammring
1.题目描述给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N是在[0, 10^9]范围内的一个整数。2.解题思路分为两部分进行考虑1).当N为个位数时...
2020-12-17 09:43:53
80
原创 在 HBase Shell 命令行正常查看十六进制编码的中文
Hbase查看十六进制代码:hbase(main):050:0> scan 'test'row column+cell row-1 column=f:c1, timestamp=1587984555307, value=\xe7\xa6\x85\xe5\x85\x8b row-2
2020-12-12 11:05:22
4289
5
原创 NameError: name mat is not defined
在机器学习实战中,编写梯度上升算法报错;NameError: name 'mat' is not defined出现这种问题的主要原因在于python2和python3不兼容的问题,解决方法如下:from numpy import *def gradAscent(dataMatIn,classLabels): dataMatrix = mat(dataMatIn) labelMat = mat(classLabels).transpose() m,n = shape(
2020-12-10 01:06:24
4701
2
原创 ajax异步传输
$.ajax({ url : "http://172.21.82.7:8081/api/home/showtime", data:JSON.stringify({ update_time: time, }), contentType: "application/json", type:"POST", dataType : 'json', async : true, .
2020-12-02 16:09:49
315
原创 Linux使用解压命令unzip报错:unzip: cannot find zipfile directory in one of xxx.zip
在linux服务器下使用rz上传压缩文件,用unzip命令解压zip包#xxx.zip 压缩的包名unzip xxx.zip Archive: QY.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the centra
2020-12-02 15:50:48
51244
1
原创 java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id “null“ 产生原因
在做接口拦截器的时候自定义了一个配置类,但是运行在控制台上产生了java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null" 的问题。这个问题主要是依赖SpringBoot2.x整合Security5所引发的问题。现在idea中找到了DelegatingPasswordEncoder类,在这个类中包含了一个私有类UnmappedIdPasswordEncoder,是由于mathes方法导致的这
2020-10-20 11:37:19
682
原创 Leetcode416. 分割等和子集--hammring
1.题目描述给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.2.解题思路使用方法:动态规划1).判断数组长度是否小于2,否..
2020-10-17 11:09:30
199
2
原创 Leetcode145. 二叉树的后序遍历--hammring
1.题目描述给定一个二叉树,返回它的 后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [3,2,1]进阶:递归算法很简单,你可以通过迭代算法完成吗?2.题目思路a.编写一个后序的方法(traver),在主方法中按左、右、根节点的顺序取出其中的值。在该方法中设置两个参数root、res。首先取出root的值,然后采用递归的方法取出左右节点的值。b.在主方法中调用traver方法,返回后序的输出结果。...
2020-09-29 15:02:15
82
原创 ORA-04091: table is mutating, trigger/function may not see it --hammring
create or replace trigger tr_test after insert on test for each row begin update test set column2=123 where column1=:new.column1 end tr_test; create or replace trigger tr_test after insert on test for each row de...
2020-09-24 17:14:51
780
原创 python3报错AttributeError: `dict` object has no attribute `iteritems`
是因为python版本的问题,将iteritems换成为items
2020-09-20 09:41:42
404
原创 安装feedparser 显示SyntaxError: invalid syntax
用python3.5安装在机器学习实战中的feedparser。在cmd中执行python setup.py install。然后报错 name = f"{name}_{os.getenv('NAME_SUFFIX')}" ^SyntaxError: invalid syntax然后查了查f-string的意思:格式化 {} 内容,不在 {} 内的照常展示输出,如果你想输出 {},那就用双层 {
2020-09-18 11:33:53
232
原创 对触发器的理解
触发器是指当表发生改变的时候触发的动作,当你插入一条记录到表中的时候,此时表已经发生了改变,现在想要在每次插入数据之前检测所有的入参是否都是小写,此时可以用触发器来检测。发生改变通常是指update、insert、alter等操作(增删改),其动作可以发生在增删改之前或之后,触发时间就是我们要写的存储过程。触发器的基本语法:创建触发器:create trigger 触发器名称 触发动作 on 表名for each row [触发事件];删除触发器:droptrigger 触发器名称 ;...
2020-09-08 11:42:11
688
原创 机器学习实战第四章 基于概率论的分类方法 遇到的reload问题
问题在第四章 基于概率论的分类方法中的4.5.2训练算法:从词向量计算概率。写完函数trainNB0()后,会有下面一段代码需要执行:import numpy as np reload(bayes)listOPosts,listClasses = bayes.loadDataSet()执行代码,终端会报错NameError: name 'reload' is not defined。解决方法:因为机器学习实战的代码是以python2为写的,在python3中需导入import.
2020-09-05 11:08:08
183
原创 在linux使用xargs命令
xargs可以将一个命令的输出作为参数发送给另一个命令1.xargs命令:xargs接收管道输入,也可以接收来自文件的输入。xargs使用该输入作为我们指定的命令的参数。如果我们没有给xargs指定特征的命令,则默认使用echo。xargs始终生成单行输出,即使输入的数据是多行的。假如我们使用ls的-1(每行列出一个文件)选项,则会得到一列文件名称:$ ls -1 ./*.sh 这个命令列出当前目录中的所有Shell脚本文件。./test01.sh ./test02.sh .
2020-08-31 09:49:32
372
原创 Leetcode459. 重复的子字符串--hammring
1.题目描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)2.解题思路长度为n的字符
2020-08-24 17:15:12
128
原创 Leetcode111. 二叉树的最小深度--hammring
1.题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.解决思路二叉树的问题经常可以用递归的方法来处理,此题总的思路是:如果根节点为空,深度为0.如果他的左右子树都为空则该二叉树的深度为1.如果他的左右子树有一个为空,则最小深度...
2020-08-21 10:55:30
98
原创 Explain详解
explain select *from 表名 where 列名=valueexplain的信息会出现如下10列,下面是各列的具体说明:id:选择标识符select_type:表示查询的类型table:输出结果集的表名type:表示表的连接类型possible_keys:表示查询时,可能使用的索引key:表示实际使用的索引key_len:索引字段的长度ref:列与索引的比较rows:扫描出的行数extra:执行情况的描述和说明一、select_type:...
2020-08-18 15:08:44
179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人