hive
小财迷,嘻嘻
这个作者很懒,什么都没留下…
展开
-
Hive函数(内置函数+自定义标准函数UDF)
Hive提供大量内置函数供开发者使用,也可以自定义函数使用1、内置函数:标准函数(字符函数、转换函数、数学函数、日期函数、集合函数、条件函数 )聚合函数表生成函数常用内置函数如下:2、自定义函数UDF:自定义标准函数UDAF:自定义聚合函数UDTF:自定义表生成函数自定义标准函数UDF步骤:1、java继承UDF类编写udf函数(evaluate())(一个类一个方法)2、打fat包(包括所有依赖文件)3、把jar包放到linux上–临时udf函数4、在hive命令原创 2020-09-23 15:30:40 · 1045 阅读 · 1 评论 -
Hive安装(超详细)
1、前置条件1、安装jdk2、安装hadoop3、安装zookeeper4、安装hbase5、安装mysql2、Hive解压安装将压缩文件解压到opt目录下:tar -zxvf hive-1.1.0-cdh5.14.2.tar.gz -C /opt进opt目录改名:mv hive-1.1.0-cdh5.14.2 hive3、Hive环境搭建1、在hive目录下新建warehouse:mkdir warehouse2、配置环境变量:vi /etc/profile新增export HIV原创 2020-09-14 19:38:26 · 4493 阅读 · 0 评论 -
Hive表如何去掉首行
hive映射HDFS文件时,有的文件第一行是字段名,那么如何去掉首行呢?新建表时过滤首行:hive > create table hive_movies( rank int, src string, name string, box_office string, avg_price int, avg_people int, begin_date string) row format delimited fields term原创 2021-01-17 17:16:02 · 2855 阅读 · 1 评论 -
Hive调优及数据倾斜
1、常见的Hive调优方式1.1 本地模式Hive支持将作业自动转换为本地模式运行当要处理的数据很小时,完全分布式模式的启动时间比作业处理时间要长--通过以下设置开启本地模式SET hive.exec.mode.local.auto=true; --default false SET hive.exec.mode.local.auto.inputbytes.max=50000000; SET hive.exec.mode.local.auto.input.files.max=5; -原创 2020-12-17 16:11:12 · 254 阅读 · 0 评论 -
Hive窗口函数使用
Hive窗口函数:https://zhuanlan.zhihu.com/p/113245904原创 2020-09-19 16:06:42 · 331 阅读 · 0 评论 -
Hive侧视图Lateral View--规范化行或解析JSON
1、与表生成函数结合使用,将函数的输入和输出连接2、OUTER关键字:即使output为空也会生成结果select name,work_place,loc from employee lateral view outer explode(split(null,',')) a as loc;3、支持多层级select name,wps,skill,score from employee lateral view explode(work_place) work_place_single a.原创 2020-12-10 16:06:54 · 394 阅读 · 0 评论 -
Hive导入导出数据
1、Hive表导入数据新建一个Hive表,如何把数据放入Hive表。数据准备:现有hive外部表emp,本地文件系统有文件employee.txt,1.1 put[root@hadoop60 ~]# hdfs dfs -put /root/test/employee.txt /user/test/emp1.2 insertinsert支持overwrite(覆盖)和into(追加);table关键字是可选的;数据插入必须与指定列数相同;支持多插入;-- 将employee表中的数据原创 2020-12-10 14:36:54 · 217 阅读 · 0 评论 -
Hive分区表和分桶表
目录1、分区表1.1 概念1.2使用场景1.3创建分区表1.4添加分区并上传文件1.5删除分区1.6关于动态分区2、分桶表2.1概念2.2创建分桶表2.3加载数据到分桶表3、分区表和分桶表结合使用1、分区表1.1 概念Hive中的表对应为HDFS上的指定目录,在查询数据的时候,默认对全表进行扫描,这样性能和时间的消耗都很大。分区为HDFS上表目录的子目录,数据按照分区存储在子目录中。如果查询的where条件中包含分区条件,就直接去该分区查找,而不是扫描整个目录,合理的分区设计可以极大提高查询速度和原创 2020-09-18 01:00:11 · 304 阅读 · 0 评论 -
Hive数据库和表操作(DDL)
1、Hive数据库表的集合,HDFS中表现为一个文件夹默认在hive.metastore.warehouse.dir属性目录下,我们在部署Hive时,在hive-site.xml中配置了该路径,如下:如果没有指定数据库,默认使用default数据库创建数据库:create database hivetest使用数据库:use hivetest显示所有数据库:show databases删除数据库:drop database hivetest显示数据库信息:desc database原创 2020-09-18 01:01:09 · 682 阅读 · 0 评论 -
hive操作--命令行模式和交互模式
目录1、HiveServer和HiveServer22、命令行模式3、交互模式Hive操作常用的客户端工具有两种,分别为:Beeline和Hive命令行(CLI)Hive操作又分为两种模式,一种为命令行模式,一种为交互模式。1、HiveServer和HiveServer2Hive 内置了 HiveServer 和 HiveServer2 服务,两者都允许客户端使用多种编程语言进行连接,但是HiveServer 不能处理多个客户端的并发请求,所以产生了 HiveServer2。HiveServ原创 2020-12-08 21:24:54 · 861 阅读 · 0 评论 -
启动hive metastore和hiveserver2服务脚本
编写脚本文件:vim hive.sh#!/bin/bashHIVE_LOG_DIR=$HIVE_HOME/logsmkdir -p $HIVE_LOG_DIR#检查进程是否运行正常,参数1为进程名,参数2为进程端口function check_process(){ pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}') ppid=$(netstat -nltp 2>/dev/原创 2020-12-08 20:07:38 · 574 阅读 · 2 评论 -
Column length too big for column ‘PARAM_VALUE‘ (max = 21845); use BLOB or TEXT instead
hive在建表时报一下错误:Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaExcept原创 2020-12-08 13:46:38 · 596 阅读 · 0 评论