
bigdata
大数据
吴法刚
从现在我下了一个决定把自己学习过的东西都写成文章发表出来,大家共同学习共同探讨,知识无边界。。欢迎交流技术
展开
-
HIVE函数使用案例之----行列转换
行转列:多行转多列行转列:多行转单列--2、多行转单列select * from row2col1;select concat("it","cast","And","heima");select concat("it","cast","And",null);select concat_ws("-","itcast","And","heima");select concat_ws("-","itcast","And",null);select collect_list(col1).原创 2024-12-29 11:34:37 · 496 阅读 · 0 评论 -
HIVE函数使用案例之----窗口函数
HIVE函数使用案例之----窗口函数案例1:连续登陆用户方案一:表中的数据自连接,构建笛卡尔积方案二:使用窗口函数来实现案例2:级联累加求和案例3:分组TopN完整sql案例1:连续登陆用户方案一:表中的数据自连接,构建笛卡尔积这种方案弊端非常明显,如果查询连续3天,4天,一个月…没办法实现方案二:使用窗口函数来实现案例2:级联累加求和案例3:分组TopN完整sql--------------------------------hive 窗原创 2024-12-29 11:34:09 · 396 阅读 · 0 评论 -
Hive的in与not in 值中有null的时候注意事项,join where条件等问题
在进行hive SQL查询数据的时候,where条件中使用了in或者not in,但是该值内有null空。这时,无论是in还是not in,空值都不会进入该条件内,但是使用not in的时候只是希望把自己不想要的数据给排除掉,这时会同步把为null的数据也进行排除掉了。所以,在写not in或者in的时候,如果希望保留为null的数据。最好加一条where (col not in (1,2,3,4) or col is null)同样,进行先join 后where操作的时候,同样要注意值为null的情原创 2024-12-19 15:09:29 · 757 阅读 · 0 评论 -
案例:Spark/Hive中‘String=数值类型’丢失精度问题
【代码】案例:Spark/Hive中‘String=数值类型’丢失精度问题。原创 2024-12-19 23:00:00 · 361 阅读 · 0 评论 -
presto】时间函数汇总
上面的例子使用时间戳: 2001-08-22 03:04:05.321 作为输入。格式不同时date、to_date无法使用。字符串格式和format格式需保持一致。原创 2024-07-29 20:39:26 · 654 阅读 · 0 评论 -
HIVE SQL 聚合函数与 rows between / range between详解
今天说的这个内容其实是窗口函数中常用的一个, 原来都是用默认的,由于今天我遇到的了一个比较奇葩的问题,比较纠结这个小的知识点,自己说不清相关问题因此深入研究了一下格式:窗口函数| 聚合函数 OVER (PARTITION BY XXX order by xx DDDDDDD)今天我们说的就是DDDDDDD 部分, 这部分的作用是什么的,就是窗口函数的小集合,此时会影响窗口函数或者聚合函数的取值。原创 2024-07-29 20:37:43 · 746 阅读 · 0 评论 -
HiveSQL中last_value和first_value函数的应用
今天做一个数据分析,其中有一列数据有些有数据有些没数据,因此我们需要把每数据的进行补充进来因此我们需要使用last_value 函数和over 结合使用,但是遇到一个比较奇葩的问题不能按照预期进行处理。原创 2024-07-29 20:37:12 · 1642 阅读 · 0 评论 -
Spark 下载版本间的区别
困惑于Spark官网的Pre-built for Apache Hadoop和Pre-built with user-provided Apache Hadoop的区别。为何下载个Spark还搞那么多的版本?本文以2.1.1版作为测试。在一台安装了Java的机器上执行以下命令。在一台安装了Java的机器上执行以下命令。Spark 下载版本间的区别。原创 2024-05-18 14:13:39 · 366 阅读 · 0 评论 -
如何在Presto中转义单引号?
在hive 中进行字符串转义的时候 是用 \ 但是在presto 中是不行的。原创 2024-04-22 07:30:08 · 601 阅读 · 0 评论 -
Hive / Presto 行转列 列转行
array_agg转为数组,array_distinct去重,array_join将数组用逗号间隔连接成字符串。collect_set转为数组并去重,concat_ws将数组用逗号间隔连接成字符串。###炸裂 + map。原创 2024-01-20 10:48:10 · 1186 阅读 · 0 评论 -
HIVE函数使用案例之----json字符串解析
简单json的解析一个map情况: {“bssid”:“6C:59:40:21:05:C4”,“ssid”:“MERCURY_05C4”}select get_json_object('{"bssid":"6C:59:40:21:05:C4","ssid":"MERCURY_05C4"}','$.bssid') as bssid from dual;map嵌套的情况:{“person”:“tom”,“food”:{“fruit”:“apple”,“meat”:“pig”}}select get_j原创 2022-05-19 08:11:23 · 2736 阅读 · 0 评论 -
Hive常用日期格式转换
固定日期转换成时间戳select unix_timestamp('2016-08-16','yyyy-MM-dd') --1471276800select unix_timestamp('20160816','yyyyMMdd') --1471276800select unix_timestamp('2016-08-16T10:02:41Z', "yyyy-MM-dd'T'HH:mm:ss'Z'") --147131296116/Mar/2017:12:25:01 +0800 转成正常格式(yyy原创 2022-04-07 20:10:54 · 16243 阅读 · 0 评论 -
HIVE hql 中的count 高级使用方法
count(*)和count(1):对表中行数进行统计计算,包含null值。count(某字段):对表中该字段的行数进行统计,不包含null值。如果出现空字符串,同样会进行统计。SELECT type , count(*) , count(DISTINCT u) , count(CASE WHEN plat=1 THEN u ELSE NULL END) , count(DISTINCT CASE WHEN plat=1 THEN u ELSE NULL END) , cou原创 2022-04-07 19:52:08 · 1610 阅读 · 0 评论