hive
RayBreslin
大数据开发、设计企业应用
展开
-
Hive迁移Spark报错org.apache.hadoop.hive.ql.io.orc.OrcStruct cannot be cast to org.apache.hadoop.io.Binar
Hive迁移后,读取报错:org.apache.hadoop.hive.ql.io.orc.OrcStruct cannot be cast to org.apache.hadoop.io.BinaryComparab一、问题描述Hive数据库经过迁移后,spark读取一个表,报错Caused by: java.lang.ClassCastException: org.apache.hadoop.hive.ql.io.orc.OrcStruct cannot be cast to org.apache原创 2021-11-23 17:47:58 · 3466 阅读 · 0 评论 -
(转)Error: java.io.IOException: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block:
【转载原因:hive中查询时报错,同样错误。然后,经确认确实是datanode宕掉了。】【转载原文:https://blog.csdn.net/abc_123_abc_123_/article/details/103087254】hadoop 报错:Error: java.io.IOException: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain block: BP-1020558569-1xx.1xx.xx.x转载 2021-02-22 22:43:13 · 1232 阅读 · 0 评论 -
Hive表中load数据时,过滤首行表头
一、实现功能向Hive表中load数据的时候,一般被加载数据是不包含表头的,对于被加载数据包含表头,则需要通过以下方法变通解决。load data local inpath '/home/emp.txt' into table emp partition (dt='191212');二、解决办法1.对于之前没有建表,则直接在建表语句中添加tblproperties ('skip.header.line.count'='1');例如create table emp(no原创 2020-12-18 18:55:17 · 2294 阅读 · 4 评论 -
SparkSQL(13): 窗口函数和group by执行顺序
一、实现功能当sql中既有groupby又有窗口函数,那么两者的执行顺序是什么样?这个特此研究一下,方便后续有使用的时候会方便。二、实际例子3.1案例数据/opt/datas/score.json,学生名字、课程、分数{"name":"A","lesson":"Math","score":100}{"name":"B","lesson":"Math","score":100}{"name":"C","lesson":"Math","score":99}{"name":"D","lesson"原创 2020-11-15 14:40:35 · 5272 阅读 · 2 评论 -
Hive(31):将txt数据导入ORC格式表
一、实现功能将txt或者csv数据加载到orc格式的hive中,因为不能直接创建orc类型数据,而直接将txt(csv)数据load进入orc表,会报错。所以,需要创建一个textfile格式中间表。二、实例1.创建textfile临时表:create table if not exists people_orc_txt( name string, gender string)row format delimited fields terminated by ',' sto原创 2020-09-05 14:59:53 · 4080 阅读 · 0 评论 -
Hive骚操作
1.在hive客户端查看hdfs文件系统hive> dfs -ls /;2.在hive客户端直接查看本地文件系统hive> ! ls /opt;原创 2020-07-18 17:35:23 · 173 阅读 · 0 评论 -
(转)hive中json字符串解析之get_json_object与json_tuple
【转载原因:get_json_object与json_tuple的用法,作者讲解非常清楚】【转载原文:https://blog.csdn.net/weixin_37536446/article/details/80622220】在技术对app进行埋点时,会讲多个字段存放在一个数组中,因此模型调用数据时,要对埋点数据进行解析,以作进一步的清洗。本文将介绍解析json字符串的两个函数:get_json_object和json_tuple。表结构如下:一、get_json_obj...转载 2020-07-06 00:05:33 · 2937 阅读 · 0 评论 -
Hive(30):行转列和列转行操作
【转载原文:https://blog.csdn.net/bsf5521/article/details/76576180】版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/bsf5521/article/details/76576180收起一、行转列的使用1、问题hive如...原创 2019-12-19 11:32:53 · 306 阅读 · 0 评论 -
(转载)hive 中 order by、sort by、distribute by 、cluster by 区别
【转载原因:关系非常清晰,受益匪浅】【转载原文:https://blog.csdn.net/HG_Harvey/article/details/103188061】版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/HG_Harvey/article/details/1031880...转载 2019-12-15 10:08:54 · 184 阅读 · 0 评论 -
Hive(5):关键字段使用LOCATION/DROP
一、LOCATION字段1.适用的场景(多使用在外部表的场景下)当数据已经存在hdfs上,并且不能随意移动这个数据,这个数据也不能被修改想使用这个数据的时候,只能指定location,建表的时候也可以使用location2.例子(1)创建数据库,通过location,指定在hdfs的路径。 这样数据库存储位置就是'/locate',而非默认的'/user/hive/wareh...原创 2018-11-05 21:32:30 · 9427 阅读 · 0 评论 -
Hive(27):分析网站uvpv等多指标综合案例
一、实现功能1.分析网站日志,获得日期,uv,pv,登录人数,游客人数,平均访问时长,二跳率,独立ip数等关键信息。其中:登录:userid有值,会员,有账号登录游客:userid无值,非登录人员平均访问时长:在网页停留时间二跳率:在一次会话中,同一个session点击的页面大于等于2的会话就是二跳(判断同一个session有多条记录的几率是多少)独立ip数:统计ip去重2...原创 2018-11-13 21:13:52 · 926 阅读 · 0 评论 -
Hive(11):Hive常用函数大全一览(转载)
【转载自过往记忆(https://www.iteblog.com/)】非常全,很棒的博客!连接:https://www.iteblog.com/archives/2258.html#3UNIX_unix_timestamp转载 2018-11-08 21:05:09 · 466 阅读 · 0 评论 -
Hive(12):Hive分析函数-窗口函数(Windowing)
一、实现功能对于分组之后的数据进行处理。官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics二、加载数据1.emp.txt和dept.txt数据(1)emp.txt7369 SMITH CLERK 7902 1980-12-17 ...原创 2018-11-08 23:14:10 · 414 阅读 · 0 评论 -
Hive(28):hive的高压缩存储格式
一、hive各种不同存储数据格式介绍1.不同存储格式(1)TEXTFILE:行存储(磁盘开销大)(2)RCFILE:数据是按行进行分块,每块按照列存储(压缩快)(3)ORC:rcfile的改良版(第一选择)(4)PARQUET:列式存储,良好压缩性能(第二选择)(5)AVRO:为了解析Avro格式的数据 (0.40)(6)INPUTFORMAT input_format_clas...原创 2018-11-14 07:51:02 · 205 阅读 · 0 评论 -
Hive(29):hive/hadoop的压缩格式选择
一、功能实现1.将存储数据压缩,减少存储空间。2.hive的存储格式和压缩格式区别(如下图)二、实现步骤1.设置hadoop运行的任务的参数(1)配置参数 (a)永久修改:在配置文件中修改:mapred-site.xml 改为之后重启hadoop (b)临时修改:在执行中设置参数:-D 表示指定运行的参数,格式:key=vlaue(2)执行使用的命...原创 2018-11-14 08:12:45 · 235 阅读 · 0 评论 -
Hive(23):实例:网站流量分析
一、概述1.分析统计24小时内的每个时段的pv和uv(1)pv统计总的浏览量(2)uv统计对guid去重后的总量(3)获取时间字段,日期和小时,建立分区表2.网站两天数据格式数据121508281810000000 http://www.yhd.com/?union_ref=7&cp=0 3 PR4E9HWE38DMN4Z6HUG667SCJNZXMHSPJR...原创 2018-11-12 19:18:09 · 744 阅读 · 0 评论 -
Hive(24):实例:hive shell脚本实现自动加载数据
一、实现功能日志文件需要按时自动上传到hdfs、hive,然后,才可以进行下一步的ETL。所以,定时定点将日志信息按时上传时非常重要的。二、实现1.hive中创建源表create database load_hive;create table load_hive.load_tb(id string,url string,...原创 2018-11-12 19:31:10 · 2701 阅读 · 0 评论 -
sqoop(5):export之hbaseTomysql
一、实现功能1.目的:使用sqoop将hbase中数据导入到mysql中,sqoop没有这个直接功能,需要hive做一个中间转换。2.环境:hadoop2.7.3、hive1.2.1、hbase-0.98.6、sqoop-1.4.7.bin。二、实现步骤1.开启hdfsyarn(这个一定要开启,因为sqoop需要调用)zkmetastorehbase服务器2.建表...原创 2018-11-18 00:34:55 · 307 阅读 · 0 评论 -
HBase(9):hbase与hive集成
一、实现功能1.HBase自身的查询非常有限,仅支持有限的scan get,做不了聚合查询(max avg min max),也做不了分组联合(jion)子查询等,但是Hive是支持的,非常友好,非常强大,只是Hive存储不占优势2.所以,可以将数据保存到HBase,但是可以通过hive映射表,使用hql做一些丰富查询3.缺点:虽然查询功能丰富了,但是底层的执行依然是mapredcue,会...原创 2018-12-01 20:05:03 · 276 阅读 · 0 评论 -
where、having之间的区别和用法(转)
【转自:https://blog.csdn.net/jdjh1024/article/details/76647866】聚合函数是比较where、having 的关键。开门见山。where、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having列出group by来比较二者。()因where...转载 2019-01-05 22:55:28 · 240 阅读 · 0 评论 -
外网无法访问hdfs文件系统:SparkSQL本地scala代码连接服务器hive报错:INFO DFSClient: Could not obtain BP-397724921-127.0.0.1-
一、问题描述本地开发sparkSQL代码,连接hive,使用hivecontext连接报错:(1)代码:object _02hivecontext { def main(args: Array[String]): Unit = { //1)创建相关的context val sparkconf=new SparkConf().setAppName("Hivesq...原创 2019-01-18 07:38:11 · 2190 阅读 · 10 评论 -
hive启动metastore报错:MySQLSyntaxErrorException: Access denied for user ‘root‘@‘hadoop‘ to database ‘met
1.问题描述启动hive的metastore命令bin/hive --service metastore &后报错:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'root'@'hadoop' to database 'metastore'...原创 2019-01-17 00:18:09 · 2574 阅读 · 3 评论 -
Hive ERR:Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
1.问题描述使用sqoop将postgresql中表导入hive,报错:Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=root, access=WRITE, inode="/user":...原创 2019-03-19 19:09:08 · 1188 阅读 · 2 评论 -
Hive(13):Hive与MR相关参数
一、实现功能如果核心数比较少,内存比较多,则可以每个reduce多设置内存,使一个核心处理能力增大;如果核心数充足,则内存设置可以比较少,进而使多个核心处理任务,增加处理速度。二、配置1.In order to change the average load for a reducer (in bytes):每个reduce能够处理的数据量,字节,默认是1个Gset hive...原创 2018-11-09 08:21:27 · 1206 阅读 · 0 评论 -
Hive(4):Hive常用数据操纵语言DML,数据定义语言DDL,数据控制语言DCL
一、概述1.DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言2.DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义...原创 2018-11-05 21:10:56 · 817 阅读 · 0 评论 -
Hive(26):case when 和 cast
一、case when1.针对表emp.empno emp.ename emp.job emp.mgr emp.hiredate emp.sal emp.comm emp.deptno7369 SMITH CLERK 7902 1980-12-17 800.0 NULL 207499 ALLEN...原创 2018-11-13 07:32:33 · 1518 阅读 · 0 评论 -
Hive(10):hive支持常用HQL语句
1、过滤(1)where:select,update,delete,insert into select * from emp where sal > 3000;(2)limit select * from emp limit 1;(3)distinct,count/group by select distinct deptno from emp;...原创 2018-11-07 23:58:47 · 513 阅读 · 0 评论 -
SecureCRT hive 退格键不能用(转)
问题:通过SecureCRT连接服务器,使用hive时,不能用Backspace或delete,肿么办?请看下图:转载 2018-11-04 11:09:59 · 546 阅读 · 0 评论 -
Hive(8):数据导入hive的多种方式
1、本地 load data local inpathLOAD DATA LOCAL INPATH ‘filepath' [overwrite] into table tablename [partition (partcol1=val1,...)]注意:(1)local代表本地(2)overwrite代表覆盖,如果不加,就是追加(3)分区表加载,特殊性 partition (p...原创 2018-11-07 00:01:01 · 268 阅读 · 0 评论 -
Hive(7):Hive四大表类型内部表、外部表、分区表和桶表
一、概述总体上Hive有四种表:外部表,内部表(管理表),分区表,桶表。分别对应不同的需求。下面主要讲解各种表的适用情形、创建和加载数据方法。二、具体内容1.内部表创建内部表和加载数据create table emp_inner(empno int,ename string,job string,mgr int,hiredate string,sal double...原创 2018-11-06 23:32:28 · 6095 阅读 · 2 评论 -
ERROR:Hive桶表加载数据的时候报错Cannot run job locally: Number of reducers (= 4) is more than 1
1.问题描述桶表加载数据的时候报错Cannot run job locally: Number of reducers (= 4) is more than 1。首先创建桶表create table emp_bu_2( empno int, ename string,job string, mgr int,hiredate string, sal double, ...原创 2018-11-06 21:34:50 · 2878 阅读 · 8 评论 -
Hive(14):排序类型的sql
1、order by:全局排序,默认按照字典序排列(1)特点只会开启一个reduce做聚合,所以数据量很大的话,很影响性能;如果设置多个reduce但是,输出还是只有一个文件(2)实例set mapreduce.job.reduces=2;insert overwrite local directory '/opt/datas/emp_order' row format de...原创 2018-11-09 08:29:18 · 724 阅读 · 0 评论 -
阿里云搭建大数据平台(6):Hive和mysql安装和配置
一、环境1.CentOS7.42.hive-1.1.0-cdh5.15.03.mysql5.7二、Hive安装和配置1.解压:tar -zxvf /opt/softwares/hive-1.1.0-cdh5.15.0.tar.gz -C /opt/modules/2.配置环境: 修改名称:mv hive-env.sh.template hive-env.sh...原创 2018-11-03 20:21:49 · 1815 阅读 · 0 评论 -
Error:cdh5.15.0的hive1.1.0没有hive-default.xml.template
1.问题描述自己下载的cdh的hive-1.1.0-cdh5.15.0.tar.gz,解压缩后conf目录下没有hive-default.xml.template 文件。2.问题原因未知原因,网上搜索也没有找到根本原因。3.解决方法从hive1.2.1的hive-site.xml复制到的hive-1.1.0-cdh5.15.0的conf目录下面。4.hive-site.xm...原创 2018-11-03 14:34:34 · 1658 阅读 · 0 评论 -
Hive(6):创建表的四种方式
一、实现功能在特定需求下,使用不同的创建表方式,创建需要的表。二、创建方法1、普通创建create table student2(num int,name string)row format delimited fields terminated by'\t';2.子查询方式(抽取源表的部分字段分析数据)create table student_child a...原创 2018-11-06 08:12:45 · 2410 阅读 · 0 评论 -
SparkSQL(14):jdbc访问hive表
一、目的:使用jdbc访问hive表二、操作:1.前提开启thriftserversbin/start-thriftserver.sh \--master local[2] \--jars /opt/datas/mysql-connector-java-5.1.27-bin.jar \--hiveconf hive.server2.thrift.port=14000...原创 2018-10-01 14:39:29 · 2932 阅读 · 0 评论 -
SparkSQL(13):shell命令中spark-shell、spark-sql以及thriftserver&beeline访问hive表
一、spark-shell1.把hive的hive-site.xml复制到spark的conf下面2.开启spark-shellbin/spark-shell --master local[2] --jars /opt/datas/mysql-connector-java-5.1.27-bin.jar3.运行测试语句spark.sql("select * from imoo...原创 2018-10-01 14:35:06 · 1673 阅读 · 0 评论 -
Hive(1):Hive的安装和配置
一、Hive版本hive-1.2.1二、安装和配置1.解压:tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/modules/2.配置环境:修改名称:mv hive-env.sh.template hive-env.sh修改:# Set HADOOP_HOME to point to a specific hado...原创 2018-11-04 14:09:05 · 334 阅读 · 0 评论 -
Hive(2):安装mysql(修改hive元数据存储的数据库)
一、安装mysql的目的1.Hive默认使用derby数据库存储元数据,但是发现不能同时开启多个hive shell客户端。所以,修改默认存储元数据的数据库,采用mysql存储Hive元数据。2.环境:CentOS6.4二、安装mysql1.查看本身系统有没有mysqlrpm -qa | grep mysql2.卸载已有的mysql libsudo rpm -e...原创 2018-11-04 14:21:23 · 996 阅读 · 0 评论 -
Hive(3):Hive常用配置修改
一、功能配置hive-log4j.properties和hive-site.xml,使hive使用更加人性化。二、实现1.hive的日志(1)重命名con/下的hive-log4j.properties.template为hive-log4j.propertiesmv hive-log4j.properties.template hive-log4j.properties...原创 2018-11-04 14:27:09 · 1599 阅读 · 0 评论