hive
文章平均质量分 63
GOD_WAR
喜欢钻研大数据、python、机器学习、人工智能...
展开
-
hive 传参脚本
向hive脚本中传入参数,两种情况:一、shell脚本调度hive脚本, hive可以直接读取系统变量和环境变量hive脚本--#test.sqluse huh;select '${env:month}' as month from table_name;脚本传参--#start.sh#!/bin/shset -xexport month=`date -d 'last month' +%Y-%m`hive -f test.sql二、使用-hivevar 和 -hive原创 2022-03-30 15:53:18 · 2639 阅读 · 0 评论 -
常用SQL脚本大全
1、行转列的用法PIVOTCREATEtabletest(idint,namenvarchar(20),quarterint,numberint)insertintotestvalues(1,N'苹果',1,1000)insertintotestvalues(1,N'苹果',2,2000)insertintotestvalues(1,N'苹果',3,4000)insertintotestvalues(1,N'苹果',4,5000)insertinto...原创 2022-03-25 16:15:20 · 5302 阅读 · 0 评论 -
Hive3.1.2 shell 打印大量日志问题
在hive-3.1.x版本中,使用hive shell时,会发现在查询命令中夹杂大量的日志信息,严重干扰查询结果显示,特别是强迫症患者,不能忍受。通过修改conf下的日志文件,会发现不起任何作用。解决办法:1.在 Hive 安装目录的 conf 目录下创建出 log4j.properties 日志配置文件,以WARN 级别为例:2.添加如下内容:log4j.rootLogger=WARN, CAlog4j.appender.CA=org.apache.log4j.ConsoleApp原创 2022-01-21 14:29:34 · 8164 阅读 · 9 评论 -
hive tez due to:ROOT_INPUT_INIT_FAILURE java.lang.IllegalArgumentException: Illegal Capacity: -38297
hive tez 报错:Status: FailedVertex failed, vertexName=Map 1, vertexId=vertex_1625122203217_0010_1_00, diagnostics=[Vertex vertex_1625122203217_0010_1_00 [Map 1] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: info initializer failed, vertex=..原创 2021-07-07 15:41:04 · 2136 阅读 · 0 评论 -
强化 Hive高阶函数
GROUPING SETS示例:实现同一数据集的多重group by操作。事实上GROUPING SETS是多个GROUP BY进行UNION ALL操作的简单表达。数据:+----------+----------+---+|year_month|date |pv |+----------+----------+---+|2015-04 |2015-04-12|10 ||2015-03 |2015-03-10|2 ||2015-03 |2015-03-10|9 |原创 2021-06-29 22:18:55 · 386 阅读 · 0 评论 -
hive中sql 转换成 mapreduce 过程
说明:当启动MapReduce程序时,Hive本身是不会生成MapReduce算法程序的需要通过一个表示“Job执行计划”的XML文件驱动执行内置的、原生的Mapper和Reducer模块Hive通过和JobTracker通信来初始化MapReduce任务,不必直接部署在JobTracker所在的管理节点上执行通常在大型集群上,会有专门的网关机来部署Hive工具。网关机的作用主要是远程操作和管理节点上的JobTracker通信来执行任务数据文件通常存储在HDFS上,HDFS由名称节点管理...原创 2021-04-17 15:51:21 · 957 阅读 · 0 评论 -
hive on spark 部署
1. 环境Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releaseshive默认使用mr作为计算引擎,当进入cli时会看到以上的提示信息,刚好有hive2.1.0,查了下pom文件,依赖了spark1.6.0,版本原创 2021-04-29 11:33:15 · 2614 阅读 · 0 评论 -
Hive中Hleft semi join和inner join、left join、right join、full join区别
Hive中Hleft semi join和inner join、left join、right join、full join区别Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。sql中的连接查询有inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)left semi join(左半连接)五种方式,它们之间其实并原创 2021-04-11 21:55:19 · 2037 阅读 · 0 评论 -
hive on spark 配置 和 spark on hive
Hive引擎简介Hive引擎包括:默认MR、tez、sparkHive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。Spark on Hive : Hive只作为存储元数据,Spark负责SQL解析优化,语法是SparkSQL语法,Spark负责采用RDD执行。HiveonSpark配置1)兼容性说明注意:官网下载的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive...原创 2021-03-16 20:57:30 · 4128 阅读 · 0 评论 -
Sql 练习
有50W个京东店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop,请统计:1)每个店铺的UV(访客数)2)每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数u01 au02 bu03 bu04 au01 bu01 cu02 bu01 cu01 au02 bu03 cu04...原创 2021-03-14 23:10:11 · 706 阅读 · 0 评论 -
50道Hive SQL练习题
建表create table student(s_id string,s_name string,s_birth string,s_sex string) row format delimited fields terminated by '\t';create table course(c_id string,c_name string,t_id string) row format delimited fields terminated by '\t';create table teacher(t原创 2020-12-26 22:11:09 · 2044 阅读 · 0 评论 -
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
hadoop3.2.1 hive3.1.2 集成 TEZ 引擎能正常select查询,计算报错报错如下:hive> select appid,deviceid,count(*) from applog group by appid,deviceid;Query ID = hadoop_20201211141905_6883a7aa-4b93-43c1-808e-044c932718efTotal jobs = 1Launching Job 1 out of 12020-12-..原创 2020-12-12 11:04:14 · 5686 阅读 · 2 评论 -
ERROR metastore.ObjectStore: Version information found in metastore differs 3.1.2 from expected sche
ERROR metastore.ObjectStore: Version information found in metastore differs 3.1.2 from expected schema version 1.2.0. Schema verififcation is disabled hive.metastore.schema.verification so setting version.解决方案两种第一种:登陆mysql,修改hive metastore版本:进行mysq原创 2020-11-03 18:26:36 · 1751 阅读 · 2 评论 -
Hive计算引擎Tez简介和使用
一、前言Hive默认计算引擎时MR,为了提高计算速度,我们可以改为Tez引擎。至于为什么提高了计算速度,可以参考下图:用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。二、安装包准备1)下载tez的依赖包:http://tez.apache.org2)拷贝apache-te原创 2020-10-25 16:46:58 · 3137 阅读 · 0 评论 -
Error during job, obtaining debugging information... FAILED: Execution Error, return code 2 from org
报错:Error during job, obtaining debugging information...FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask解决:失败原因经查发现发现/tmp/hadoop/.log提示java.lang.OutOfMemoryError: Java heap space,原因是namenode内存空间不够,jvm不够新job启动导致。原创 2020-10-23 11:32:36 · 3119 阅读 · 0 评论 -
SQL查询的底层运行原理分析
SQL查询的底层运行原理分析SQL 语言无处不在。SQL 已经不仅仅是技术人员的专属技能了,似乎人人都会写SQL,就如同人人都是产品经理一样。如果你是做后台开发的,那么CRUD就是家常便饭。如果你是做数仓开发的,那么写SQL可能占据了你的大部分工作时间。我们在理解 SELECT 语法的时候,还需要了解 SELECT 执行时的底层原理。只有这样,才能让我们对 SQL 有更深刻的认识。本文分享将逐步分解SQL的执行过程,剖析其底层运行原理,希望对你有所帮助。数据准备本文旨在说明SQL查询的执行过程,原创 2020-10-08 19:43:41 · 1028 阅读 · 0 评论 -
hive新功能cube和rollup
1、cubecube简称数据魔方,可以实现hive多个任意维度的查询,cube(a,b,c)则首先会对(a,b,c)进行group by,然后依次是(a,b),(a,c),(a),(b,c),(b),(c),最后在对全表进行group by,他会统计所选列中值的所有组合的聚合select device_id,os_id,app_id,client_version,from_id,count(user_id) from test_xinyan_reg group by device_id,os_原创 2020-09-16 22:45:58 · 1447 阅读 · 0 评论 -
hadoop-3.3.0 hive-3.1.2 整合 hbase-2.2.4
一、下载匹配hadoop-3.x.y 版本的hive 3.1.2下载地址 :http://mirror.bit.edu.cn/apache/hive/二、上传至安装目录 /home/apache-hive-3.1.2-bin.tar.gz解压:tar -zxvfapache-hive-3.1.2-bin.tar.gz 后重命名目录:/home/hive-3.1.2三、编辑/etc/profile 文件......if [ -n "${BASH_VERSION-}" ]...原创 2020-09-16 22:29:52 · 2061 阅读 · 0 评论 -
Hive On Tez,Tez 和 MapReduce engine 参数优化
Hive On TezHive 默认支持 MapReduce,Tez,Spark(在 SparkSQL 中支持) 等执行引擎。因此给 Hive 换上 Tez 非常简单,只需给 hive-site.xml 中设置:<property> <name>hive.execution.engine</name> <value>tez</value></property>设置hive.execution.engin原创 2020-08-05 22:22:39 · 3409 阅读 · 1 评论 -
hive中split() explode()和 lateral view
split()函数是用于切分数据,也就是将一串字符串切割成了一个数组,标准格式为split(str,regex),支持正则切分不过有点奇怪的是,对于 “.”,"|“这样的特殊字符,不加”\“的时候是特殊字符,加了以后才是普通字符,而对于”\d"的字符,需要加"\“后才是特殊字符,就是是说”\\d"才是匹配数字。假设我有一张表(demo)如下:用split()函数对name字段切分select split(name,',') as name,age from demo;结果如下,返回原创 2020-07-27 10:51:24 · 5023 阅读 · 1 评论 -
hive 使用 beeline 连接报错 ERROR beeline.ClassNameCompleter: Fail to parse the class
1、在当前服务器启动hiveserver2服务,远程客户端通过beeline连接报错信息如下:root@master:~# beeline -u jdbc:hive2//master:10000ls: cannot access /data1/hadoop/hive/lib/hive-jdbc-*-standalone.jar: No such file or directorySLF4J: Class path contains multiple SLF4J bindings.SL.原创 2020-07-08 21:32:36 · 2468 阅读 · 0 评论 -
hive FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
20/07/0600:53:04 ERROR operation.Operation: Error running hive query:org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask at org.apa...原创 2020-07-08 20:51:08 · 11287 阅读 · 1 评论 -
HiveSQL常用优化方法全面总结
Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包含对HiveQL语句本身的优化,也包含Hive配置项和MR方面的调整。--------------------------------------------------------列裁剪和分区裁剪谓词下推sort by代替order bygroup by代替distinct原创 2020-06-23 09:11:46 · 1420 阅读 · 0 评论 -
hive 3.x 新特性
Apache Hive 3.x 架构介绍 hive 的更新操作一直是大数据仓库头痛的问题,在3.x之前也支持update,但是速度太慢,还需要进行分桶,现在hive 支持全新ACID,并且底层采用TEZ 和内存进行查询,性能是hive2的50倍。生产建议升级到hive3.1.1版本。 了解Apache Hive 3主要的设计更改,例如默认的ACID事务处理和仅支持瘦配置客户端,可以帮助您使用新功能来满足企业数据仓库系统不断增长的需求。1.执行引擎更改Apache Tez将Map...原创 2020-05-27 21:05:15 · 2018 阅读 · 1 评论 -
Hive SQL count(distinct)效率问题及优化
本篇教程介绍了大数据统计分析 Hive SQL count(distinct)效率问题及优化,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据分析的理解更加深入。一个工作任务,统计一个按天分区每天都有百亿条数据条的hive表中account字段的非重用户数(大概两千万)。后来又更改为按id字段分别统计每个id的用户数。我很轻易的跳出来了count(distinctaccount)这个句子。然后写上了一行查询,等待了四个小时,然后map反着跑就知道没这么容易的任务。。然后想起...原创 2020-05-19 20:23:45 · 5012 阅读 · 0 评论 -
hive 中 in与not in
在mysql中想表达包含与不包含可以用 in/exists,但是在hive1的版本中是不支持这种语法的,hive2支持这种语法但是效率极低,这里给出一种解决方案。建表与导入数据create table if not exists parent(parent_id int,pname string,comments string) row format delimited fields t...原创 2019-11-10 19:38:45 · 1009 阅读 · 0 评论 -
Hive案例之微博
数据下载链接:https://pan.baidu.com/s/1OGyO2jFj393-Dcq3eosbjA&shfl=sharepset提取码:jtdi数据案例(取其中两个文件即可):[{"beCommentWeiboId":"","beForwardWeiboId":"","catchTime":"1387157643","commentCount":"682","...原创 2019-11-10 19:33:56 · 675 阅读 · 0 评论 -
Hive案例之影评
现有如此三份数据:1、users.dat 数据格式为: 2::M::56::16::70072对应字段为:UserID BigInt, Gender String, Age Int, Occupation String, Zipcode String对应字段中文解释:用户id,性别,年龄,职业,邮政编码2、movies.dat 数据格式为: 2::Jumanji...原创 2019-11-10 19:24:11 · 752 阅读 · 0 评论 -
Hive高级操作
hive的数据类型1.基本类型整型:tinyint smallint int bigint浮点型:float double布尔:boolean字符串:string时间戳类型:timestamp2.复杂数据类型2.1array数组类似于java中的array,单值存储多个元素的,每一个元素一个值id name score1 zs 3...原创 2019-11-10 14:07:17 · 378 阅读 · 0 评论 -
Hive hql几道公司笔试面试题2
1.现有这么一批数据,现要求出:每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数三个字段的意思:用户名uid,月份month,访问次数countA,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2015-02,6B,2015-02,10B,2...原创 2019-11-04 11:19:00 · 1388 阅读 · 1 评论 -
Hive企业级调优
企业级调优1、Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,...原创 2019-11-01 14:35:58 · 146 阅读 · 0 评论 -
Hive hql几道公司笔试面试题
1.求出要求格式的数据数据:字段含义:日期,MAC,颜色,销量day,mac,color,num20171011 1292 金色 120171011 1292 金色 1420171011 1292 金色 220171011 1292 金色 1120171011 1292 黑色 22...原创 2019-10-24 14:59:51 · 1076 阅读 · 0 评论 -
Hive On Spark安装配置详解及填坑指南
简介本文主要记录如何安装配置Hive on Spark,在执行以下步骤之前,请先确保已经安装Hadoop集群,Hive,MySQL,JDK,Scala,具体安装步骤不再赘述。背景Hive默认使用MapReduce作为执行引擎,即Hive on mr。实际上,Hive还可以使用Tez和Spark作为其执行引擎,分别为Hive on Tez和Hive on Spark。由于MapReduc...原创 2019-09-11 22:44:52 · 641 阅读 · 0 评论 -
Hive分析nginx日志
这里用到的nginx日志是网站的访问日志,比如: 180.173.250.74 - - [08/Jan/2015:12:38:08 +0800] "GET /avatar/xxx.png HTTP/1.1" 200 968 "https://www.iteblog.com/archives/994" "Mozilla/5.0 (Windows NT 6.1; WOW64)...原创 2019-09-11 22:39:26 · 333 阅读 · 0 评论 -
Hive 配置参数大全
hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置;hive.exec.script.wrapper:hive调用脚本时的包装器,默认是null,如果设置为python的话,那么在做脚本调用操作时语句会变为python <script command>,null的话就是直接执行<...原创 2019-09-11 22:28:37 · 2969 阅读 · 1 评论 -
hive优化大全-一篇就够了
1.概述 在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,耗时很长。原因是map reduce作业初始化的时间是...原创 2018-11-28 21:52:15 · 37143 阅读 · 5 评论 -
hive和hbase整合,Caused by: java.lang.ClassNotFoundException
Hive-1.2.1与HBase-1.1.2的整合这里的整合是指,将HBase作为存储数据的库,由Hive作为连接桥梁在Hive中创建表时,出现了FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hbase.HTableDescript...原创 2018-08-13 14:44:11 · 2720 阅读 · 0 评论