工作
五块兰州拉面
你的所有烦恼都来自于读书太少而想的太多 ——杨绛
展开
-
百度sql面试题
方法1:排序,dt列求出本行和前面第2行的日期差,等于2则三天连续。方法2:排序,dt减去排序序号的日期差相等的数量大于等于3 (user登陆表数据如下,求出连续登录3天及以上的用户。原创 2023-08-14 18:37:08 · 818 阅读 · 0 评论 -
hive自定义udf函数
show functions查看所有udf函数,命令和impala一样,但impala只能查看当前库下的原创 2022-06-21 17:53:58 · 244 阅读 · 0 评论 -
impala和大表关联时,大表限制语句写在on里,或者写在子查询里,哪个sql查询的速度快?
相同,执行计划完全一样,都是扫描大表时加上限制条件,然后去做关联原创 2022-06-21 15:10:08 · 331 阅读 · 0 评论 -
impala刷新元数据的两种方式
impala有两种刷新元数据的方法,invalidate metadata和refresh。invalidate metadata是用于刷新全库或者某个表的元数据,包括表的元数据和表内的文件数据,它会首先清楚表的缓存,然后从metastore中重新加载全部数据并缓存,该操作代价比较重。refresh只是刷新某个表或者某个分区的数据信息,它会重用之前的表元数据,仅仅执行文件刷新操作,它能够检测到表中分区的增加和减少,主要用于表中元数据未修改,数据的修改。1 # invalidate metadata转载 2022-04-18 11:13:03 · 5251 阅读 · 0 评论 -
impala的优化策略:广播,hash与straight_join
查看执行计划,避免大表被广播,表关联顺序如果被impala优化器修改导致hint失效,使用straight_join固定顺序。关于hintThe Impala query planner chooses between different techniques for performing join queries, depending on the absolute and relative sizes of the tables. Broadcast joins are the default,原创 2022-02-28 16:33:07 · 680 阅读 · 0 评论 -
compute stats表和列统计信息
全表扫描compute stats 表分区表扫描compute incremental stats 表 partition(biz_date=20220218)compute incremental stats 表 partition(biz_date<=20220218)compute incremental stats 表 partition(biz_date >= 20211230 and biz_date <=20220218)compute increm原创 2022-02-21 10:40:42 · 1485 阅读 · 0 评论 -
left join时on和where条件的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left join时,on和where条件的区别如下:1.on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2.where条件是在临时表生成好后,再对临时表进行过滤的条件。create table IF NOT EXISTS ljh.test_20220124_1(id String,age String)STORED AS PARQUET;原创 2022-01-26 17:58:14 · 590 阅读 · 0 评论 -
查看当前目录下所有.log文件,返回后10行中带有关键字error或exception的文件名
1.汇总需要检查的文件名到filename.txt2.创建最终结果文件re,一天一个(也可以精确到秒,看情况吧)3.清空结果文件re,免得重跑时结果文件re有内容4.遍历文件列表filename.txt,查看后10行内容到临时文件tmp.txt,查看临时文件tmp.txt是否包含关键字(这里变量用“”,因为正好是字符串比较,省的总出现比较失败的情况,很棒),包含则输出对应文件名到结果文件re。5.依次遍历,最终结果文件re里是包含关键字的文件名列表#!/bin/bashls *.log>原创 2022-01-17 17:38:39 · 988 阅读 · 0 评论 -
impala创建udf函数流程(包含极少资料的临时和持久函数分享及采坑)
查看内置的函数:show functions in _impala_builtins;show functions in _impala_builtins like ‘subs‘;查看自定义函数:show functionsdrop function statisticsClient(string);因业务需要用到MD5,但Impala没有该函数,随借助UDF实现。以下是实现过程。UDF实现要点:根据集群中Hive的版本导入对应版本的hive-exec.jar自定义UDF类要继承接口UD原创 2021-11-11 11:23:05 · 1465 阅读 · 0 评论 -
imapla时间日期函数汇总
整理不易,请勿直接粘走!一键三连,注明出处year(‘2011-12-08 10:03:01’)获取年month(‘2011-12-08 10:03:01’)获取月day(‘2011-12-08 10:03:01’)获取日hour(‘2011-12-08 10:03:01’) 获取小时minute(‘2011-12-08 10:03:01’)获取分钟second(‘2011-12-08 10:03:01’)获取秒millisecond(‘2011-12-08 10:03:01’)获取毫秒we原创 2021-11-09 18:05:58 · 821 阅读 · 0 评论 -
impala求上月,上季度,上半年,上年第一天/最后一天(工作总结)
需求中遇到这类问题,搜遍全网没有太好的总结,要么不适用impala,要么不全,还有直接抄袭的文章。参考博客和impala官方文档以后,总结如下:总结整理不易,请勿直接抄到自己博客里发表上月第一天select cast(substring(replace(cast(add_months(trunc(from_unixtime(unix_timestamp(cast(20210816 as string),‘yyyyMMdd’),‘yyyy-MM-dd’),‘MM’),-1)as string),’-’,原创 2021-08-26 14:35:39 · 3044 阅读 · 0 评论 -
近期大数据平台的问题
1.impala不支持从本地导入数据,只能从大数据平台将数据导入loaduse ljh;hadoop fs -put /home/test_user/t_access.txt /user/hive/warehouse/ljh.db/t_accessload data inpath '/user/hive/warehouse/ljh.db/t_access/t_access.txt' into table t_access;2.year(‘2021-03-03’)里面传入的时间应为string,并以原创 2021-05-12 14:21:32 · 5408 阅读 · 0 评论 -
impala/hive脱敏导数方法,建表跟hdfs路径关联
经常使用的脱敏规则1.md5()函数加密,需要用hive,用hive容易报内存不足,set mapreduce.map.memory.mb=1024的倍数2.保留第一位,后面用*代替concat(strleft(coalesce(Cst_no ,''),1),regexp_replace(substr(coalesce(Cst_no ,''),2),'.','*'))脱敏导数常用方法1.导出格式化数据到文本文件,(有表头,字段间分割),可以直接浏览数据①原创 2021-07-28 16:08:03 · 557 阅读 · 0 评论 -
上司问我怎么查看cdh的kafka版本号,告诉他两个方法非不信,非要用命令查看,结果尴尬了
引言正在生产上昏昏欲睡修改脚本时,上司突然要查看kafka版本号,问我怎么查看,作为一个刚接触cdh的小白,我告诉他两个方法,cloudera manager上查看是我之前划水时在界面上翻着看找到的,安装目录查看是我以apache版本的思路告诉他的。结果他都不信,问我查看kafka版本号的linux命令是什么,我脑子里完全没有印象。作为刚接触cdh的小白,我自然觉得对方(干了好几年cdh)是对的,以为确实有命令,一时难住,尤其是上司说话语气是追问式的,一口气说三四句“告诉我是哪个命令”,我回答不上。原创 2021-06-18 15:17:16 · 1208 阅读 · 1 评论 -
SQL 统计一字符串在另一字符串中出现的次数
遇到了一个问题,ip地址值是IP:10.20.145.23;IP:34.3.444.12需要取第二个ip,验数时我要先找到字符串包含’IP’次数>1的引出下面讨论"abc"在"aabcedeabcfabgabc"出现的次数将源字符串中的目标字符串替换成空字符’’,再用源字符串的长度-替换之后的字符串的长度,得到的结果/目标字符串的长度,最终得到的结果就是目标字符串在源字符串中出现的次数。应用于impalaselect (length('aabcedeabcfabgabc')-length(原创 2021-06-08 15:05:50 · 1193 阅读 · 1 评论