Hive
万家林
热爱大数据和AI的一名在职大数据开发工程师
展开
-
拉链表经典案例(保姆级教程)
新建一个orders.txt文件,内容如下:使用xftp将orders.txt上传到linux虚拟机中。新建orders表create table orders(orderid int,createdate string,modifiedtime string,status string)row format delimited fields terminated by '\t';将orders.txt文件上传到hdfs中hdfs dfs -put ./orders.txt /use原创 2021-11-25 14:36:09 · 986 阅读 · 0 评论 -
Hbase整合Hive案例
操作步骤:本案例hbase一张表三个列簇,对应hive中三张表。表的格式如下:studentid int,name string,gender string,age intclassid int,name stringscoreid int,scores int首先现在hbase中新建一张表,create 'wan:student_info','stu','cls','score'。然后在hive中,依次创建三张表。student表create external ta原创 2021-11-24 14:53:22 · 437 阅读 · 0 评论 -
Hive函数类型
函数分类:1、UDF函数(User-Defined-Function)一进一出,普通函数2、UDAF函数(User-Defined Aggregation Function)多进一出,聚合函数,例如:sum,max,min等3、UDTF函数(User-Defined Table-Generating Functions)一进多出,表生成函数 例如:lateral view和explode函数函数操作:1、查看系统自带的函数 show functions;2、显示函数的用法 desc fun原创 2021-11-14 22:57:34 · 1440 阅读 · 0 评论 -
Hive窗口函数经典案例(保姆级案例)
建表:create table t_window( name string, orderdate date, cost int)row format delimited fields terminated by ',';order.csv 文件jack,2015-01-01,10tony,2015-01-02,15jack,2015-02-03,23tony,2015-01-04,29jack,2015-01-05,46jack,2015-04-06,42tony,2015-0原创 2021-11-14 18:38:47 · 114 阅读 · 0 评论 -
Hive中的CATS和WITH(保姆级案例)
CTAS – as select方式建表:create temporary table tmp_employee as select name,work_place from employee;WITH:create table if not exists employee( name string, work_place array<string>, gender_age struct<gender:string,age:int>, skills_score map&原创 2021-11-14 16:07:34 · 925 阅读 · 0 评论 -
Hive中的行转列函数
concat:使用desc function concat命令查看hive中的concat的使用的基本语法。concat(string str1,string str2…) 返回字符串的串联。concat_ws使用desc function concat_ws命令查看hive中的concat_ws的使用的基本语法。concat_ws(separator,string str1,string str2…) 返回由分隔符分隔的字符串的串联。collect_set使用desc function原创 2021-11-11 23:42:43 · 685 阅读 · 0 评论 -
Hive的split,explode和lateral view(保姆级教程)
split函数:split函数:分割字符串,返回值是array使用desc function split命令查看hive中的split的使用的基本语法。split函数根据regex来截取字符串,regex是正则表达式。具体使用:select split(str,',') from student;split返回值是array,经常搭配explode使用,select explode(split(str,',')) from student;explode函数和lateral view:exp原创 2021-11-11 23:12:33 · 2202 阅读 · 1 评论 -
Hive分桶操作(Bucket)一图掌握核心内容
什么是分桶?:Hive基于hash值对数据进行分桶,按照分桶字段的hash值除以分桶的个数进行取余(bucket_id = column.hashcode % bucket.num)。分桶的作用:1、有更高的查询处理效率2、使得抽样更高效如何分桶?:1、分桶之前需要执行命令set hive.enforce.bucketing=true;2、创建分桶表首先先创建一个普通表用于给分桶表传数据create table employee_id(name string,employee_id i原创 2021-11-10 19:17:06 · 2016 阅读 · 1 评论 -
Hive的partition 分区表
介绍:分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。创建分区表:create table stu_par(id int,name string)partitioned by (age int)row format delimited fields terminated by ','原创 2021-11-10 18:50:51 · 465 阅读 · 0 评论 -
Hive内外部表转换
准备工作:先用命令查一下表结构。desc formatted 表名;可以看到是内部表。操作命令:alter table 表名set tblproperties("EXTERNAL"="TRUE");然后再去使用命令desc formatted 表名;去查看表结构。可以看到这时候已经是外表结构了。...原创 2021-11-10 17:02:19 · 1590 阅读 · 0 评论 -
Hive创建表之后添加数据的方式
准备工作:1、安装配置完成Hadoop3.1.32、安装配置完成Hive3.1.2 保姆级脚本教程解决方案:1、打开浏览器,进入hdfs可视化页面。进入到user/hive下,找到自己创建的表格。点击上传文件。上传完成后,去查询一下数据。select * from 表名2、首先beeline -u jdbc:hive2://node1:10000 -n node1 进入beeline,提前将想要插入表格的数据放入到Linux本地文件中。然后输入命令load data local inp原创 2021-11-09 18:55:33 · 1955 阅读 · 0 评论 -
beeline建表建库权限问题导致的报错
报错详情:ERROR : FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=node1, access=WRITE, inode="/user":root:supergr原创 2021-11-09 16:27:19 · 582 阅读 · 0 评论 -
Linux下编写脚本自动安装hive
核心代码:if [ "$hive" = true ]; then echo "----------安装hive----------" #-C 指定目录 tar -zxf /opt/install/hive-1.1.0-cdh5.14.2.tar.gz -C /opt/soft/ #改名 mv /opt/soft/hive-1.1.0-cdh5.14.2 /opt/soft/hive110 #配置环境变量原创 2021-11-09 14:22:37 · 2027 阅读 · 1 评论