`

hive应用

    博客分类:
  • Hive
 
阅读更多

1:hive是一个构建在hadoop上的数据仓库平台,hive提供一个被称为Hive查询语言,来查询存储在Hadoop集群中的数据。hive的查询语句会被解析为mapreduce任务,由hadoop集群执行mapReduce任务读取hdfs分布式文件系统中的数据,hive不会在数据加载时进行验证,而是在查询时进行,读时模式。

 

2:hive会为每个数据库创建一个目录。数据库中的表将会以这个数据库目录的子目录形式存储。

 

3:hive本身不存储和计算数据,依赖于hdfs和mapreduce,hive中的表是逻辑表,是元数据。

 

4:hbase是一个分布式的,面向列的开源数据库,它是一个适合于非结构化数据存储的数据库,是物理表。

 

5:  hive与关系性数据库:

存储位置:HDFS和本地文件

数据格式:用户定义和系统决定

数据更新:不支持和支持

索引:无和有

执行:MapReduce和Executor(数据库执行引擎)

执行延迟:高和低

 

6:数据仓库(DW):面向主题,数据稳定,时间而更新,数据模型(星型模型和雪花模型)

 

7:hive的元数据存储:hive的元数据包括表的名字,表的列,表的分区,表的属性(是否是外部表,表的目录位置),存储在关系型数据库中。

hive的内嵌模式使用的是derby数据库联接,不支持多会话,可以使用hive的本地模式,使mysql数据库联接,支持多会话。

 

8:hive的数据存储:存储是在hadoop文件系统

内部表和外部表:内部表的操作包含两个步骤:表创建过程和数据加载,删除表时元数据和hdfs文件都会删除

外部表创建只有一个步骤,创建表和加载数据同时完成,删除表时只删元数据。

主要原因是:内部表数据会移动到数据仓库目录中。

 

9:mapReduce实现基本SQL操作 (主要是明确如何确定key,value) 

(1)join实现原理:在map阶段将两个关联的表按照关联键拆成key和value,在shuffe阶段把key值相同组合在一组,最后reduce将value值合并。

 

红色的标示tag,表示那个表

A 表                          

uid name                          key    value                                   key    value                                   name   orderid

1    apple                          1       <1,apple>                             1      <1,apple>                             apple   1002

2    orange                        2       <1,oranger>                         1      <2,1002>                              apple   1003

                   ---> map                                      --->shuffle        1      <2,1003>    --->reduece

 B表                                  

uid orderid                       key     value                                   key     value                                name    orderid 

1     1001                         1        <2,1001>                              2       <1,oranger>                      oranger   1003

1     1002                         1        <2,1002>                              2       <2,1003>

2     1003                         2        <2,1003>

 

(2)group by的实现原理:在map阶段按照分组的字段拆成key和value,在这时value值会按照key汇总,然后在shuffe阶段把key值相同的组合在一组,最后reduce再将value再次汇总。

 

city表

value  是count值

rank  isonline                   key      value                       key       value           rank     isonline     value

A       1            --->map   <A,1>    2        ---> shuffle   <A,1>     2                 A             1             3

A       1                                                                        <A,1>     1

 

rank isoneline                  key      value                        key       value           rank     isonline     value

A      1             --->map    <A,1>    1        --->shuffle     <B,0>     1                B             0             1

B      0                              <B,0>    1

 

10:sql转为mapreduce的过程:客户端执行sql,driver会找到对应的元数据,driver将sql语句交给编译器,编译器执行编译好的sql后,driver会将sql转为mapreduce任务交由hadoop集群来执行。

 

11: 什么情况下可以避免mapReduce

本地模式: 如select * from employee limit 10 在这种情况下,hive可以简单地读取employees对应的存储目录下的文件。

过滤条件只是分区字段

 

12: Hive的UDF函数

方式一:编写一个UDF,需要继承UDF类并实现evaluate()函数,在查询执行过程中,查询中对应的每个应用到这个函数的地方都会对这个类进行实例化。

对于每行输入都会调用到evaluate()函数,然后evaluate()处理后的值会返回给Hive

如果想在Hive中使用UDF,那么需要将对应的jar文件加入到类路径下,然后再创建一个Function

CREATE TEMPORARY FUNCTION ‘函数名' As ‘类名’ (是临时的,查询执行完,就不可以再使用了)

 

 方式二:不变的UDF函数

通过注册的方式:将函数增加到hive内置函数中

registerUDF("方法名","Calss"); // 注册函数方法

 

13: Hive结合zookeeper(实现了高度可靠的分布式协调功能),支持锁功能

 

14: Hive和Oozie整合 (Oozie是一个工作流引擎服务器,将工作流的状态和发起任务的客户端分离开)

Oozie通过workflow.xml文件配置Action任务,可以将多个Action串起来

 

 

15: hive -f mail.sql >> mail.csv

 

LOAD DATA local INFILE 'D://dev_code//mail.csv' into table fact_repertory_alarm_mail FIELDS TERMINATED by '\t'

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop_第14期_Hive应用开发_V1.0 共29页.pdf

    【大数据与云计算培训学习资料 Hadoop集群 细细品味Hadoop_第14期_Hive应用开发_V1.0 共29页.pdf】这份资料主要涵盖了Hadoop集群中的Hive应用开发,包括Hive的基本服务、Hive Shell的使用、JDBC/ODBC支持等内容。...

    细细品味Hadoop_Hadoop集群(第14期)_Hive应用开发.pdf

    4. **JDBC/ODBC支持**:Hive提供了JDBC(Java Database Connectivity)和ODBC(Open Database Connectivity)驱动,使得支持这些协议的应用程序能够直接连接到Hive,将Hive作为一个数据库进行操作。 【Hive的使用...

    2021年-Hive大数据仓库-期末考试知识点重点-笔记整理.pdf

    Hive的应用场景: * 数据分析和清洗 * 离线数据处理 * 大数据仓库建设 HBase的应用场景: * 实时数据处理 * 大数据存储 * 云计算平台 Hive是一种基于Hadoop的大数据仓库工具,可以将结构化的数据文件映射为一个...

    HIVE-SQL开发规范.docx

    【秘密】Hive SQL 开发规范 Hive作为Hadoop生态系统中的重要组件,为企业提供了对大规模数据集的高效处理和分析能力。它允许用户通过类似于SQL的查询语言(HiveQL)来操作分布式存储的数据,简化了MapReduce编程...

    利用Hive进行复杂用户行为大数据分析及优化案例

    利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件+代码+讲义+工具软件),具体内容包括: 01_自动批量加载数据到hive 02_Hive表批量加载数据的脚本实现(一) 03_Hive表批量加载数据的脚本实现(二) ...

    HIVE相关的jar包

    这个压缩包文件“HIVE相关的jar包”包含了不同版本的Hive库文件,这些文件对于在Java环境下开发和运行Hive应用程序至关重要。下面我们将详细讨论Hive jar包及其在IT领域的应用。 首先,Hive jar包是Hive服务的核心...

    大数据分析与应用Hadoop-Hive.pptx

    ### 三、Hive应用架构 Hive是基于Hadoop的数据仓库工具,它提供了SQL-like查询语言(HQL)来操作分布式存储的数据。Hive的主要特点是将结构化的数据映射到Hadoop的HDFS上,并通过MapReduce进行计算。Hive不适用于...

    深入学习Hive应用场景及架构原理

    《深入学习Hive应用场景及架构原理》 Hive,源于Facebook的创新,是为了解决海量社交网络数据管理和机器学习需求而诞生的。随着互联网进入大数据时代,Hadoop成为核心,但其MapReduce操作对技术要求较高。为适应这...

    hive综合应用案例-用户学历查询.zip

    通过阅读这份文档,我们可以深入了解如何将Hive应用于实际业务问题,学习如何根据业务需求设计和优化Hive查询,以及如何解读和利用查询结果来驱动决策。 总结起来,"Hive综合应用案例——用户学历查询"是一个全面...

    王家林hive学习资料

    此外,课程还涉及在Amazon Web Services (AWS)上的Hive应用,讲解如何在EMR集群上管理Hive,配置元数据,以及使用Thrift服务进行远程访问。 讲师王家林是Hadoop源码级专家,具有丰富的实战经验和教学经验,他的著作...

    hive影评案例.rar

    在大数据分析领域,Hive...通过这个“hive影评案例”,学习者可以实践如何使用Java编写Hive应用程序,同时了解Hive在大数据分析中的实际应用。掌握这些技能将有助于理解大数据处理的流程,提高解决复杂数据问题的能力。

    华为大数据认证: Hive分布式数据仓库.pptx

    华为大数据认证:Hive分布式数据仓库课程目标是让学员掌握Hive应用场景与基本原理、掌握FusionInsight中Hive增强特性、熟悉常用Hive SQL语句。课程目录包括Hive概述、Hive功能与架构、Hive基本操作等。 Hive是大...

    使用IDEA工具连接CDH集群里面的hive组件

    然后,在工程项目下建立一个java开发的模块,这个模块将用来开发hive应用程序。 其次,需要将hive开发的jar包添加到IDEA上面去。hive的开发用到的jar包可以从安装CDH集群的相关目录下下载下来,例如从/opt/cloudera...

    星环hive-8.0.2 java 依赖包全集

    总结来说,这个"星环hive-8.0.2 java 依赖包全集"是针对星环Inceptor 8.0.2版本的Java开发资源,包含了运行和开发Hive应用所需的全部依赖。对于Java开发者来说,这个集合是构建基于Hive的分析应用,尤其是在星环...

    《企业级Hive实战课程》大纲

    - Hive应用场景及优缺点分析; - 环境搭建过程; - 元数据与数据存储机制。 2. **Hive Shell常用命令** - `hive-e`、`hive-f`、`hive-v`、`hive-i`、`hive-S`等命令的使用方法及其应用场景。 3. **Hive表操作*...

    programming_hive-master.zip

    在"programming_hive-master"中,可能包含了各种Hive应用示例、数据处理脚本、测试用例等,读者可以通过这些代码学习如何在实际项目中运用Hive。例如,可能包含创建表的HQL脚本、数据导入脚本、复杂查询示例、性能...

    Apache-Hive-Cookbook

    - **调试技巧**:利用日志记录、性能监控等手段优化 Hive 应用程序。 8. **使用 Hue** - **准备工作**:安装必要的依赖库。 - **操作步骤**: - 下载并安装 Hue。 - 配置 Hue 支持 Hive。 - 启动 Hue 服务。...

Global site tag (gtag.js) - Google Analytics