![](https://img-blog.csdnimg.cn/20210924103430919.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hive
Apache Hive ™ 数据仓库软件有助于使用 SQL 读取、写入和管理驻留在分布式存储中的大型数据集。结构可以投影到已经存储的数据上。提供了命令行工具和 JDBC 驱动程序来将用户连接到 Hive。
大数据学习僧
大数据从业者
项目经理背锅者
业务需求对接者
代码灵魂改造者
PPT熬夜设计者
展开
-
Hive sql 将多个字段组合成json格式
新的项目中,有一个需求,前端展示一个字段中要包含多个字段,讨论后决定将多个字段转成Json类型进行展示,新字段类型为。经历了多次试验,参考多个文章版本,终于改成了符合需求的SQL版本。原创 2022-12-19 16:26:38 · 3053 阅读 · 0 评论 -
Hive中split函数用法,切分多个分隔符分割字符串
在处理数据时,发现存入的字段数据分隔符多种多样,包含了英文逗号,中文逗号,中文顿号等奇葩符号混杂在数据中,可以使用split函数进行切分。原创 2022-11-22 14:27:39 · 3545 阅读 · 0 评论 -
hive将表中数据分组、然后将每行数据的两个字段拼接成json字符串,放到array里
2、collect_set 可以将分组后的数据一条一条收集成一个array,而且会去除重复数据。使用了hive中的3个函数,concat、collect_set、sort_array。3、sort_array 可以对一个array中的所有元素进行字典序排序。1、cancat 可以将多个字符串连接。原创 2022-10-28 17:30:18 · 1993 阅读 · 0 评论 -
Hive Left join on 与Where 优先级问题讨论2
1.对于a表 left join b表 ,过滤条件在on中:忽略a表的过滤条件,b表的过滤条件只会导致不满足条件的记录在b表的所有字段上都为空;过滤条件在where中:过滤掉所有不满足条件的记录。2.left join时on中条件无过滤记录作用,后做where条件过滤记录。on 优先级高于 where。SQL1:1543888条。SQL3:1543888条。SQL3 不做过滤空值。SQL2:85756条。原创 2022-10-28 16:25:59 · 830 阅读 · 0 评论 -
Hive进阶函数之【分割函数(split)、行转列函数(explode)、lateral view】
Hive进阶函数之【分割函数(split)、行转列函数(explode)、lateral view】1、split 函数—分割2、explode函数—行转列2.1 用于array类型的数据2.2 用于map类型的数据2.3 如何将其用入string类型的数据2.4 explode函数的局限性3、lateral view作用: split()函数是用于切分数据,也就是将一串字符串切割成了一个数组,语法:split(string str, string pat)string str :待分割字符原创 2022-06-20 15:32:31 · 4131 阅读 · 0 评论 -
Hive行转列 explode和 lateral view
任何一个数据库都会涉及到行转列的问题,也同时会有相应的方法,比如mysql中的pivot。hive中使用的则是 lateral view explode 或者 lateral view inlinea.lateral view explode:表示需要行转列的表:表示 source_table 中需要行转列的列:表示 lateral view explode 生成的新表名:表示 source_column 行转列后生成的新列名b.lateral view inline:表示需要行转列的表:表示原创 2022-06-20 15:22:37 · 233 阅读 · 0 评论 -
Hive进阶函数之explode 和 posexplode
tab_name 表名array_col 为数组类型的字段new_col array_col被explode之后对应的列1.2. 用于map类型的数据由于map是kay-value结构的,所以它在转换的时候会转换成两列,一列是kay转换而成的,一列是value转换而成的。tab_name 表名map_col 为map类型的字段may_key_col, may_value_col 分别对应map_col被拆分之后的map映射里的key 和 value二. explode函数的局限性不能关联原有原创 2022-06-20 14:53:14 · 2038 阅读 · 3 评论 -
SQL中某个字段大于等于且不等于某值该如何写
每天一个sql小技巧朋友求助在工作中遇到一个需求某个字段不等于空,大于某个值,不等于几个值原创 2022-05-05 10:51:43 · 2373 阅读 · 0 评论 -
HSQL习题-从邮箱中找出存在相同前缀名不同后缀名,认为两邮箱实体存在关系,并指定一种前缀相同的邮箱指向其余相同的前缀邮箱地址
从邮箱中找出存在相同前缀名不同后缀名,认为两邮箱实体存在关系,并指定一种前缀相同的邮箱指向其余相同的前缀邮箱地址例如:AR_NAME_START AR_NAMECouwetIzotofo CouwetIzotofo@112.comCouwetIzotofo CouwetIzotofo@163.comCouwetIzotofo CouwetIzotofo@o2.pl54561545 54561545@qq.com54561545 54561545@123.comHUH9329 HUH932原创 2021-12-24 14:50:24 · 431 阅读 · 1 评论 -
读完本篇文章就会掌握hive over窗口函数的使用附带习题
前言:我们在学习hive窗口函数的时候,一定要先了解窗口函数的结构。而不是直接百度sum() over()、row_number() over()、或者count() over()的用法,如果这样做,永远也掌握不到窗口函数的核心,当然我刚开始的时候也是这样做的。还好我比较顽强,在HIVE窗口函数问题上折腾了半个月、看了很多文章后才知道over()才是窗口函数,而sum、row_number、count只是与over()搭配的分析函数,当然除了这三个函数还有其他的函数。个人对over()的窗口理解:这个永原创 2021-12-23 16:01:59 · 1858 阅读 · 1 评论 -
HiveSQL求用户连续到店购买天数以及与上次到店购买间隔天数
HSQL-需求:求用户连续到店购买天数以及与上次到店购买间隔天数Step 1:对原始数据进行聚合/去重Step 2:对用户进行分组排序Step 3:日期与序号进行减法运算Step 4:获取开始连续的日期以及连续天数Step 5:使用Hive中lead函数Step 1:对数据进行聚合/去重重点是理解解题思路1.对数据按天进行初步聚合或去重(因为一个用户可能在某天有多次购买行为)select id,order_date from TABLE_NAME where d='10' group by原创 2021-10-26 15:52:08 · 1601 阅读 · 0 评论 -
SQL中join连接查询时条件放在on后与where后的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。表1:表2:sql语句1:SELECTt1.ip,t1.addr,t2.`por原创 2021-09-14 16:29:28 · 917 阅读 · 0 评论 -
hive表插入数据的时候,插入数据失败报错FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.
往hive中的表插入数据的时候,不能直接运行成功,报一下错误错误原因:namenode内存空间不够,JVM剩余内存空间不够新job运行所致错误提示0: jdbc:hive2://hadoop101:10000> insert into table student values(1002,"zss");INFO : Compiling command(queryId=root_20210909172055_08738d9c-4ded-4067-a2ac-6a64572ad49b): inse原创 2021-09-09 17:41:36 · 6723 阅读 · 3 评论 -
全网史上最详细全面的Hive安装文档 小白也能动手安装(建议收藏)
详细全面的Hive安装流程和环境配置文档,欢迎收藏1. 环境准备注意:以下步骤均以root权限操作1.1 虚拟机集群准备克隆三台虚拟机(linux01、linux02、linux03),修改虚拟机的网络配置vi /etc/sysconfig/network-scripts/ifcfg-eth0配置好对应主机的网络IPvi /etc/udev/rules.d/70-persistent-net.rules 永久修改主机名 vi /etc/sysconfig/network配置域.原创 2021-01-31 14:55:05 · 404 阅读 · 0 评论 -
大数据之SparkHive在生产实际中的如何优雅的解决数据倾斜的问题
问题: 原数据匹配事件名称、定位信息,因某个字段对应的数据条数特别多,任务运行时间较长,在shuffle时候失败。报错信息:ShuffleMapStage has failed the maxinum allowable number of timesCaused by :io.netty.utile.internal.OutOfDirectMemoryError:failed to allocate 16777216 bytes of direct memory(used:3741319168,.原创 2021-01-22 11:58:12 · 767 阅读 · 0 评论 -
Hive经典面试题之【自连接,行转列,列转行】
1.hive自连接现有这么一批数据,现要求出:每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数三个字段的意思:用户名,月份,访问次数A,2021-01,5A,2021-01,15B,2021-01,5A,2021-01,8B,2021-01,25A,2021-01,5A,2021-02,4A,2021-02,6B,2021-02,10B,2021-02,5A,2021-03,16A,2021-03,22B,2021-03,23B,2021-03,10B,原创 2021-01-22 11:18:06 · 652 阅读 · 0 评论