
hive
文章平均质量分 89
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
赵广陆
优快云认证博客专家、优快云的Java领域优质创作者、全网30w+粉丝、超300w访问量、专注于大学生项目实战开发、讲解和答疑辅导、以及产品测评宣传、工具推广等合作。同时招收学生代理、校园代理,对于专业性数据证明一切!
展开
-
Hive3新特性
目录1 Hive On Tez1.1 Hive引擎的支持1.2 Tez的介绍1.3 Tez的编译1.4 Tez的部署1.5 Tez的使用2 LLAP的更新3 Metastore独立模式3.1 Metastore的功能3.2 Metastore独立模式3.3 独立模式部署测试1 Hive On Tez1.1 Hive引擎的支持Hive作为数据仓库工具,底层的计算由分布式计算框架实现,目前Hive支持三种计算引擎,分别是MapReduce、Tez、Spark。Hive中默认的计算引擎是MapReduc原创 2021-12-10 22:30:00 · 1615 阅读 · 0 评论 -
Hive性能优化之计算Job执行优化
目录1 Explain1.1 功能1.2 语法1.3 组成1.5 示例2:分组排序2 MapReduce属性优化2.1 本地模式2.2 JVM重用2.3 并行执行3 Join优化3.1 Hive中的Join方案3.2 Map Join3.3 Reduce Join3.4 Bucket Join4 优化器4.1 关联优化4.2 CBO优化器引擎4.3 Analyze分析优化器5 谓词下推(PPD)5.1 基本思想5.2 基本规则6 数据倾斜6.1 数据倾斜的现象6.2 数据倾斜的原因6.3 group By的原创 2021-12-10 22:00:00 · 1635 阅读 · 0 评论 -
Hive性能优化之表数据优化
目录1 文件格式1.1 概述1.2 TextFile1.3 SequenceFile1.4 Parquet1.5 ORC2 数据压缩2.1 压缩概述2.2 Hive中压缩配置2.3 Hive中压缩测试3 存储优化3.1 避免小文件生成3.2 读取小文件3.3 ORC文件索引3.4 ORC矢量化查询1 文件格式1.1 概述Hive数据存储的本质还是HDFS,所有的数据读写都基于HDFS的文件来实现,为了提高对HDFS文件读写的性能,Hive中提供了多种文件存储格式:TextFile、Sequence原创 2021-12-10 21:45:00 · 964 阅读 · 0 评论 -
Hive性能优化之表设计优化
目录1 分区表1.1 Hive查询基本原理1.2 普通表结构问题1.3 分区表设计思想1.4 分区表测试2 分桶表2.1 Hive中Join的问题2.2 分桶表设计思想2.3 分桶表测试3 索引设计3.1 Hive中的索引3.2 索引的原理及使用3.3 索引的问题与应用1 分区表1.1 Hive查询基本原理Hive的设计思想是通过元数据将HDFS上的文件映射成表,基本的查询原理是当用户通过HQL语句对Hive中的表进行复杂数据处理和计算时,默认将其转换为分布式计算MapReduce程序对HDFS原创 2021-12-10 21:30:00 · 1615 阅读 · 0 评论 -
Hiveserver2的高可用搭建
目录1 部署启动hiveserver21.1 配置hive-site.xml1.2 配置hadoop中的core-site.xml文件1.3 测试2 高可用部署2.1 hive-site.xml添加配置2.2 Hiveserver2启动2.3 jdbc连接hive server方式2.4. 客户端轮询方式连接2.5 客户端直连方式连接1 部署启动hiveserver21.1 配置hive-site.xml利用Xshell工具连接虚拟机进入hive安装目录下的conf文件夹,更改hive-site.原创 2021-11-30 21:15:00 · 1699 阅读 · 0 评论 -
Hive新增表在Impala查不到问题解决
1 问题产生Impala和hive一起使用,当我们在HIVE中新增一张表时,我们发现在Impala中不能及时查看到新增表,这是因为元数据信息没有及时刷新,在impala里执行invalidate metadata命令刷新元数据即可。这里我们简单测试HIVE中新建一张表并查看CREATE TABLE test_01(id INT,name STRING,sex STRING,dataday STRING);--HIVE中查看新增表hive> show tables;OKtest_01原创 2021-11-30 21:30:00 · 1896 阅读 · 0 评论 -
Hive操作超时错误:Session 0x0 for server null
1 Hive错误[HiveServer2-Background-Pool: Thread-69-SendThread(quickstart.cloudera:2181)]: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect java.net.ConnectException: Connection refusedat sun.nio.ch.SocketCha原创 2021-11-30 21:45:00 · 1260 阅读 · 0 评论 -
Hive集成Hue安装部署
目录1 Apache Hue简介2 Apache Hue 介绍2.1 Hue 是什么2.2 Hue 能做什么2.3 Hue 的架构3 Hue 的安装3.1 上传解压安装包3.2 编译初始化工作3.2.1 联网安装各种必须的依赖包3.2.2 Hue 初始化配置3.2.3 创建 mysql 中 Hue 使用的 DB3.3 编译 Hue3.4 启动 Hue、Web UI 访问4 Hue 与软件的集成4.1 Hue 集成 HDFS4.1.1 修改 core-site.xml 配置4.1.2 修改 hdfs-site原创 2021-04-11 20:23:27 · 1488 阅读 · 0 评论 -
Hive整合Hue组件使用
目录1 hue的安装部署与介绍2 登陆hue3 Hue组件使用3.1 hive3.1.1 hive界面介绍3.1.2 执行hive sql3.2 hdfs3.2.1 hdfs界面介绍3.2.2 使用hue新增文件到hdfs3.2.3 使用hue修改hdfs上的文本文件1 hue的安装部署与介绍文章地址:https://blog.youkuaiyun.com/ZGL_cyy/article/details/1156053122 登陆hue启动hue容器, 如果已启动, 此步可跳过, 继续下一步# 在docke原创 2021-10-06 16:14:17 · 1094 阅读 · 0 评论 -
Hive使用Impala组件查询
目录1 Apache Impala1 Apache Impalaimpla是个实时的sql查询工具,类似于hive的操作方式,只不过执行的效率极高,号称当下大数据生态圈中执行效率最高的sql类软件impala来自于cloudera,后来贡献给了apacheimpala工作底层执行依赖于hive 与hive共用一套元数据存储。在使用impala的时候,必须保证hive服务是正常可靠的,至少metastore开启。impala最大的跟hive的不同在于 不在把sql编译成mr程序执行 编译成执行计原创 2021-04-11 17:43:45 · 3362 阅读 · 2 评论 -
Hive数据仓库基础知识
目录1 事实表、维度表1.1 什么是事实表呢?1.2 什么是维度表呢?2 数据库三范式2.1 首先看第一范式(1NF):2.2 第二范式(2NF)2.3 第三范式(3NF)3 维度建模模型3.1 星型模型和雪花模型3.1.1 星型模型3.1.2 雪花模型4 数据仓库分层设计1 事实表、维度表首先我们来看两个名词:事实表和维度表1.1 什么是事实表呢?事实表是指保存了大量业务数据的表,或者说保存了一些真实的行为数据的表例如:销售商品所产生的订单数据1.2 什么是维度表呢?首先说一下什么是维度原创 2021-07-19 23:27:00 · 1699 阅读 · 2 评论 -
Hive数据仓库维度分析
目录1 指标与维度2 业务需求3 识别维度4 关键指标5 分层与分级1 指标与维度这里个人理解:先有指标后有维度,指标相当于具体一些列数据,维度相当于在这一些数据中的某种条件下的数据.要进行维度分析需要先理解两个术语:指标和维度。指标是衡量事物发展的标准,也叫度量,如价格,销量等;指标可以求和、求平均值等计算,指标分为绝对数值和相对数值,绝对数值反映具体的大小和多少,如价格、销量、分数等;相对数值反映一定的程度,如及格率、购买率等。维度是事物的特征,如颜色、区域、时间等,可以根据不同的维度原创 2021-10-06 15:47:08 · 820 阅读 · 0 评论 -
Hive数据仓库数据分析
目录1 创建数据仓库2 创建Hive分区表3 数据分析3.1 统计总记录数3.2 统计非空记录数3.3 关键词分析3.4 uid分析4 用户行为分析4.1 单击次数与rank之间的关系4.2 个性化行为分析5 实时数据1 创建数据仓库我们的目标是在Hive中创建数据仓库,以便利用Hive的查询功能实现交互式数据处理,所以接下来在Hive客户端进行操作。确保Hadoop和MySQL服务已经启动后再进入Hive客户端,命令如图10-11所示。hivecreate database sogou;下原创 2021-11-05 21:00:00 · 6750 阅读 · 0 评论 -
Hive报错:HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
启动hive的metastore或者启动hive后执行命令报错如下:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me原因分析:是由于没有初始化数据库导致,执行名称初始化数据库即可。解决办法:执行命令:schematool -dbType mysql -initSchema注意:我这里hive的metastore数据库为MySQL[oldlu原创 2021-11-02 20:00:00 · 7908 阅读 · 0 评论 -
大数据Hive安装与应用
目录1 启动条件2 部署安装2.1 下载并解压Hive安装包2.2 配置Hive2.3 启动并验证Hive2.4 Hive的基本应用1 启动条件Hive需要安装在成功部署的Hadoop平台上,并且要求Hadoop已经正常启动。所以,读者需要首先验证自己计算机上的Hadoop是否处于正常运行状态,方法是执行一个Hadoop命令,如“hdfs dfs -ls /”,看是否能正常显示HDFS上的目录列表;同时,通过浏览器查看系统状态,地址是“http://maser:9870”和“http://master原创 2021-11-01 20:30:00 · 466 阅读 · 0 评论 -
数据仓库建模
目录1 常见的建模方法1.1. 星型模型1.2. 雪花模型2 数据分层方法3 数据仓库分层3.1 空间换时间3.2 分层的价值1 常见的建模方法1.1. 星型模型星型模型是一种多维的数据关系,它由一个事实表和一组维度表组成。每个维度表都有一个维作为主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,最终形成一个宽表。如下图所示(事实表):1.2. 雪花模型当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,就像多个雪花连接原创 2021-10-06 16:26:30 · 630 阅读 · 0 评论 -
大数据Hive拉链表的设计与实现
7.1 数据同步问题7.1.1 数据同步的场景Hive在实际工作中主要用于构建离线数据仓库,定期的从各种数据源中同步采集数据到Hive中,经过分层转换提供数据应用。例如,每天需要从MySQL中同步最新的订单信息、用户信息、店铺信息等到数据仓库中,进行订单分析、用户分析。例如:MySQL中有一张用户表:tb_user,每个用户注册完成以后,就会在用户表中新增该用户的信息,记录该用户的id、手机号码、用户名、性别、地址等信息。每天都会有用户注册,产生新的用户信息,我们每天都需要将MySQL中的用户原创 2021-09-19 17:53:20 · 7486 阅读 · 5 评论 -
大数据Hive窗口函数应用实例
目录1 连续登陆用户1.1 需求1.2 分析1.3 建表1.4 方案一:自连接过滤实现1.5 方案二:窗口函数实现2 级联累加求和2.1 需求2.2 分析2.3 建表2.4 方案一:自连接分组聚合2.5 方案二:窗口函数实现3 分组TopN3.1 需求3.2 分析3.3 建表3.4 实现1 连续登陆用户1.1 需求当前有一份用户登录数据如下图所示,数据中有两个字段,分别是userId和loginTime。userId表示唯一的用户ID,唯一标识一个用户,lo原创 2021-09-19 17:47:19 · 1329 阅读 · 0 评论 -
大数据Hive JSON数据处理
目录1 应用场景2 处理方式3 JSON函数:get_json_object3.1 功能3.2 语法3.3 使用4 JSON函数:json_tuple4.1 功能4.2 语法4.3 使用5 JSONSerde5.1 功能5.2 使用6 总结1 应用场景JSON数据格式是数据存储及数据处理中最常见的结构化数据格式之一,很多场景下公司都会将数据以JSON格式存储在HDFS中,当构建数据仓库时,需要对JSON格式的数据进行处理和分析,那么就需要在Hive中对JSON格式的数据进原创 2021-09-19 17:32:21 · 862 阅读 · 0 评论 -
大数据Hive行列转换应用与实现
目录1 工作应用场景2 行转列:多行转多列2.1 需求2.3 实现3 行转列:多行转单列3.1 需求3.2 concat3.3 concat_ws3.4 collect_list3.5 concat_set3.6 实现4 列转行:多列转多行4.1 需求4.2 union4.3 union all4.4 实现5 列转行:单列转多行5.1 需求5.2 explode5.3 实现1 工作应用场景实际工作场景中经常需要实现对于Hive中的表进行行列转换操作,例如当前ADS原创 2021-09-19 17:26:39 · 945 阅读 · 0 评论 -
大数据Hive URL解析函数及侧视图
目录1 实际工作需求2 URL的基本组成3 Hive中的URL解析函数3.1 数据准备3.2 需求3.3 parse_url3.4 UDTF函数的问题3.5 Lateral View侧视图3.5.1 功能3.5.2 语法3.5.3 测试1 实际工作需求业务需求中,我们经常需要对用户的访问、用户的来源进行分析,用于支持运营和决策。例如我们经常对用户访问的页面进行统计分析,分析热门受访页面的Top10,观察大部分用户最喜欢的访问最多的页面等:又或者我们需要分析不同搜索平台的用户来原创 2021-09-19 17:19:46 · 1531 阅读 · 0 评论 -
大数据Hive多字节分隔符
目录1 应用场景1.1 Hive中的分隔符1.2 特殊数据2.2 需求3 解决方案一:替换分隔符3.1 方案概述3.2 程序开发3.3 重新建表加载数据3.4 查看结果3.5 总结4 解决方案二:RegexSerDe正则加载4.1 方案概述4.2 什么是SerDe?4.3 Hive中包含的SerDe4.4 RegexSerDe的功能4.5 RegexSerDe解决多字节分隔符4.6 RegexSerDe解决数据中包含分割符4.7 总结5 解决方案三:自定义InputFo原创 2021-09-19 17:04:31 · 1908 阅读 · 0 评论 -
大数据Hive函数高阶
目录1 UDTF之explode函数1.1 explode语法功能1.2 explode函数的使用1.3 案例:NBA总冠军球队名单1.3.1 业务需求1.3.2 代码实现1.3.3 explode使用限制1.3.4 explode语法限制原因2 Lateral View侧视图2.1 概念2.2 UDTF配合侧视图使用3 Aggregation 聚合函数3.1 基础聚合3.2 增强聚合3.2.1 概述与表数据环境准备3.2.2 Grouping sets3.2.3 Cube原创 2021-09-19 12:14:58 · 1959 阅读 · 0 评论 -
大数据Hive函数入门
目录1 函数概述2 函数分类2.1 内置函数分类2.1.1 String Functions 字符串函数2.1.2 Date Functions 日期函数2.1.4 Collection Functions 集合函数2.1.5 Conditional Functions 条件函数2.1.6 Type Conversion Functions 类型转换函数2.1.7 Data Masking Functions 数据脱敏函数2.1.8 Misc. Functions 其他杂项函数2.2原创 2021-09-19 12:05:52 · 644 阅读 · 0 评论 -
大数据Hive内置运算符
目录1 Hive内置运算符2 关系运算符3 算术运算符4 逻辑运算符1 Hive内置运算符随着Hive版本的不断发展,在Hive SQL中支持的、内置的运算符也越来越多。可以使用下面的命令查看当下支持的运算符和函数,并且查看其详细的使用方式。https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF也可以使用课程附件中的中文版本运算符函数说明文档进行查看。--显示所有的函数和运算符show functions;--查原创 2021-09-19 11:54:10 · 450 阅读 · 0 评论 -
大数据Hive参数配置
目录1 CLIs and Commands客户端和命令1.1 Hive CLI1.1.1 Batch Mode 批处理模式1.1.2 Interactive Shell 交互式模式1.1.3 启动服务、修改配置1.2 Beeline CLI2 Configuration Properties配置属性2.1 配置属性概述2.2 修改配置属性方式2.2.1 方式1:hive-site.xml配置文件2.2.2 方式2:hiveconf命令行参数2.2.3 方式3:set命令2.2.4 方原创 2021-09-19 11:47:54 · 918 阅读 · 0 评论 -
大数据Hive Join连接查询
目录1 join概念回顾2 Hive join语法2.1 规则树2.2 语法丰富3 join查询数据环境准备4 Hive inner join5 Hive left join6 Hive right join7 Hive full outer join9 Hive cross join10 Hive join使用注意事项1 join概念回顾根据数据库的三范式设计要求和日常工作习惯来说,我们通常不会设计一张大表把所有类型的数据都放在一起,而是不同类型的数据设计不同的表存储。比如在设计一个订单数据表的时候原创 2021-09-19 11:38:07 · 1322 阅读 · 0 评论 -
大数据Hive数据查询语言DQL
目录1 基础查询1.1 语法树1.2 案例:美国Covid-19新冠select查询1.3 select_expr1.4 ALL 、DISTINCT1.5 WHERE1.6 分区查询、分区裁剪1.7 GROUP BY1.8 HAVING1.9 LIMIT1.10 Hive SQL查询执行顺序2 高阶查询2.1 SORT/ORDER/CLUSTER/DISTRIBUTE BY2.1.1 ORDER BY2.1.2 CLUSTER BY2.1.3 DISTRIBUTE BY +SOR原创 2021-04-10 11:58:46 · 1489 阅读 · 0 评论 -
大数据Hive数据操纵语言DML
目录1 背景:RDBMS中insert使用(insert+values)2 insert + select3 multiple inserts多重插入4 dynamic partition insert动态分区插入4.1 功能4.2 配置参数4.3 案例:动态分区插入5 insert + directory导出数据6 Hive Transaction事务6.1 Hive事务背景知识6.2 Hive事务表局限性6.3 案例:创建使用Hive事务表7. DML-Update、Delete更新、删除数据原创 2021-03-27 17:05:57 · 1013 阅读 · 0 评论 -
大数据Hive DML-Load加载数据
目录1 背景2 Load语法2.1 filepath2.2 LOCAL2.3 OVERWRITE3 案例:load加载数据到Hive表4 Hive3.0 Load新特性1 背景回想一下,当在Hive中创建好表之后,默认就会在HDFS上创建一个与之对应的文件夹,默认路径是由参数hive.metastore.warehouse.dir控制,默认值是/user/hive/warehouse。要想让hive的表和结构化的数据文件产生映射,就需要把文件移到到表对应的文件夹下面,当然,可以在建原创 2021-03-27 16:53:52 · 1177 阅读 · 0 评论 -
大数据Hive DDL其他语法
目录1 Database|schema(数据库) DDL操作1.1 Create database1.2 Describe database1.3 Use database1.4 Drop database1.5 Alter database2 Table(表)DDL操作2.1 Describe table2.2 Drop table2.3 Truncate table2.4 Alter table3 Partition(分区)DDL操作3.1 Add partition3.2 rename partiti原创 2021-03-27 12:15:52 · 1124 阅读 · 0 评论 -
大数据Hive DDL高阶建表
目录1 Hive内、外部表1.1 什么是内部表1.2 什么是外部表1.3 内部表、外部表差异1.4 如何选择内部表、外部表2 Hive分区表2.1 分区表的引入、产生背景2.2 分区表的概念、创建2.3 分区表数据加载--静态分区2.4 分区表数据加载--动态分区2.5 分区表的本质2.6 分区表的使用2.7 分区表的注意事项2.8 多重分区表3 Hive分桶表3.1 分桶表的概念3.2 分桶表的语法3.3 分桶表的创建3.4 分桶表的数据加载3.5 分桶表的使用好处4 Hive Transactional原创 2021-03-27 10:27:32 · 508 阅读 · 0 评论 -
大数据Hive数据定义语言DDL
目录1 数据定义语言(DDL)概述1.1 DDL语法的作用1.2 Hive中DDL使用2 Hive DDL建表基础2.1 完整建表语法树3 Hive数据类型详解3.1 整体概述3.2 原生数据类型3.3 复杂数据类型3.4 数据类型隐式、显示转换4 Hive读写文件机制4.1 SerDe是什么4.2 Hive读写文件流程4.3 SerDe相关语法4.4 LazySimpleSerDe分隔符指定4.5 默认分隔符5 Hive数据存储路径5.1 默认存储路径5.2 指定存储路径6 案例—王者荣耀6.1 原生数据原创 2021-03-27 09:54:52 · 642 阅读 · 0 评论 -
大数据Hive入门案例
目录1 体验1:Hive使用起来和Mysql差不多吗?1.1 背景1.2 过程1.3 验证1.4 结论2 体验2:如何才能将结构化数据映射成为表?2.1 背景2.2 过程2.3 验证2.4 结论3 体验3:使用hive进行小数据分析如何?3.1 背景3.2 过程3.3 验证3.4 结论1 体验1:Hive使用起来和Mysql差不多吗?1.1 背景对于初次接触Apache Hive的人来说,最大的疑惑就是:Hive从数据模型看起来和关系型数据库mysql等好像。包括Hive SQL也是一种类SQL语言原创 2021-03-27 09:46:04 · 979 阅读 · 0 评论 -
大数据Hive安装部署
目录1 元数据相关名词1.1 Metadata1.2 Metastore2 metastore三种配置方式2.1 内嵌模式2.2 本地模式2.3 远程模式3 Hive部署实战3.1 安装前准备3.2 内嵌模式安装3.3 本地模式安装3.4 远程模式安装(重点)3.5 远程模式Metastore服务手动启动4 Hive 客户端使用4.1 Hive Client、Hive Beeline Client4.2 HiveServer、HiveServer2服务4.3 Hive服务和客户端关系梳理4.4 Hive C原创 2021-03-27 09:26:19 · 493 阅读 · 0 评论 -
大数据Hive入门概述
目录1 Apache Hive 概述1.1 什么 什么是 是 Hive1.2 为什么使用 Hive1.3 Hive 与 Hadoop 的关系2 场景设计 :如何模拟实现 Hive 的功能2.1 场景需求2.2 场景目的2.3 功能实现关键2.4 最终效果3 Hive 架构 、组件3.1 Hive 架构图的架构图3.2 Hive 组件4 Hive 数据模型 (Data Model )4.1 Databases4.2 Tables4.3 Partitions4.4 Buckets5 Hive 是要取代 Mysq原创 2021-03-26 19:56:37 · 408 阅读 · 0 评论 -
大数据Hive基本介绍
目录1 数据仓库概念2 场景案例:数据仓库为何而来?2.1 操作型记录的保存2.2 分析型决策的制定2.3 OLTP 环境开展分析可行吗?2.4 数据仓库的构建2.5 场景案件2: 超市连锁企业3 数据仓库主要特征3.1 面向主题性3.2 集成性3.3 非易失性3.4 时变性4 数据仓库、数据库、数据集市4.1 OLTP 、OLAP4.2 数据仓库、数据库4.3 数据仓库、数据集市5 数据仓库分层 架构5.1 数仓分层思想和标准5.2 阿里巴巴数仓 3 层架构5.3 ETL 和 ELT5.4 为什么要分层原创 2021-03-14 18:35:52 · 642 阅读 · 0 评论