
hive
文章平均质量分 62
落花流水i
致明日的舞
展开
-
一文搞定hive2.3集成tez引擎
在集成tez之前,我们先来安装一下Hive1.解压tar包到指定的目录[mo@node102 software]$ tar -zxvf apache-hive-2.3.6-bin.tar.gz -C /opt/module/2.将mysql的jar包拷贝到hive的lib目录下cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /opt/module/hiv原创 2021-06-19 15:54:44 · 667 阅读 · 0 评论 -
hive中如何实现group_concat函数
上节说到在mysql中我们很容易使用group_concat(具体用法)但是在hive中很遗憾的是没有这个函数那我们如何在不使用UDF函数的情况下使用它呢: 那就是使用hive中自带的collect_list/collect_set加上concat_ws函数关于collect_list/collect_set的区别请参考下此篇文章https://blog.youkuaiyun.com/LINBE_blazers/article/details/89198019直接上实例,先看一下我们的表数据和字段结构我们原创 2021-06-19 15:31:34 · 6265 阅读 · 0 评论 -
hive中自定义UDF函数
Hive中提供了用户自定义函数,在自带的内嵌函数不能满足开发需求的时候,用户自定义函数是一个不错的选择,例如时间格式的转换等。Hive是基于hadoop的MapReduce,提供HQL查询的数据仓库,Hive是一个开放的系统,很多内容都支持用户定制,下面介绍自定义UDF函数实现两个或者多个数相加的流程。1).自定义类继承UDF,需要继承org.apache.hadoop.hive.ql.exec.UDF,并且需要实现evaluate函数;evaluate函数支持重载。import org.apache原创 2020-06-27 15:39:53 · 577 阅读 · 0 评论 -
hive中开窗函数知识
开窗函数的引出:在写sql语句查询时经常会用到聚合函数,也就是sum(),count(),max(),avg()等函数,这些函数可以将多行数据聚集成一行,所以也就是最后查询的结果的行数少于聚集前的行数,但是这并不能满足我们所要的某些查询,于是开窗函数就被引出了,相对于聚合函数而言开窗函数是对于每个组返回多行(而聚合函数则是多行数据返回一行值),组内的每一行数据都相当于一个窗口。1:窗口函数的相关函数OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化;CURRENT原创 2020-06-20 15:09:13 · 824 阅读 · 0 评论 -
hive中的行转列,列转行
行转列:1.行转列所用的函数CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串;CONCAT_WS(separator, str1, str2,…):它是一个特殊形式的 CONCAT()。第一个参数作为剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间;COLLECT_SET(col):函数原创 2020-06-19 13:01:26 · 2487 阅读 · 0 评论 -
hive中order by 、sort by、distribute by、cluster by区别
1.Order By:全局排序,只有一个Reducer,所以当数据量很大的时候用order by会比较慢。2.sort by:区内排序,每个Reducer内部进行排序,对全局结果集来说不是排序。(使用sort by的话前提要设置一下reduce个数,set mapreduce.job.reduces=n,n为reduce的个数,n>1)例如按照部门编号从高到低进行排序,这里我的reduce设置的是3。原表数据sort by 之后insert overwrite local directo原创 2020-06-15 18:06:38 · 1395 阅读 · 0 评论 -
Hive中数据的导入与导出的几种方式
数据的导入:1.向已经建立好的表中加载数据:语法: load data [local] inpath ‘/opt/module/datas/student.txt’ [overwrite] | into table tablename [partition (partcol1=val1,…)];中括号代表可以省略。参数意义:local: 表示从本地加载数据到hive表;否则从HDFS加载数据到hive表。overwrite:表示覆盖表中已有数据,否则表示追加。partition:表示上传到原创 2020-06-15 15:19:10 · 451 阅读 · 0 评论 -
hive坑之insert overwrite local directory xx目录 select * from xx表
今天遇到了一个关于hive导出数据的一个坑,我想把数据导出到/demo下,没曾想竟然会把/demo下的所有数据给覆盖了。来看一下把数据导出到路径深的目录,导入之前可以看到/demo目录下有如下内容。insert overwrite local directory ‘/demo/test3/hive/result’ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’ select * from dept;执行完以后查看文件result中原创 2020-06-15 11:26:49 · 6319 阅读 · 0 评论 -
hive的常见属性配置
#Hive数据仓库位置配置1.在/opt/module/hive/conf/hive-site.xml文件中添加如下配置信息,就可以实现显示当前数据库,以及查询表的头信息配置。<property> <name>hive.cli.print.header</name> <value>true</value></property><property> <name>hive.cli.print.curr原创 2020-06-07 23:59:09 · 295 阅读 · 0 评论 -
Hive元数据配置到MySql
一:驱动拷贝1.在/opt/software/mysql-libs目录下解压mysql-connector-java-5.1.27.tar.gz这个tar包。tar -zxvf mysql-connector-java-5.1.27.tar.gz解压完以后进这个目录我们会发现一个所需的驱动包。2.拷贝mysql-connector-java-5.1.27-bin.jar到/opt/module/hive/lib/cp /opt/software/mysql-libs/mysql-con原创 2020-06-07 17:20:20 · 703 阅读 · 0 评论 -
Hive的安装及配置
集群规划:本虚拟机上有三台机器,主机名分别是hadoop102,103,104.一:hive的安装部署1.把apache-hive-1.2.1-bin.tar.gz上传到linux的/opt/software目录下(可根据自己目录来,下同)2.解压apache-hive-1.2.1-bin.tar.gz到/opt/module/目录下面tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/3.在mudule目录下修改apache-hive-1原创 2020-06-07 14:42:38 · 5024 阅读 · 1 评论