数据仓库——Hive入门介绍
一,什么是Hive:
1.Hive是建立在Hadoop HDFS上的数据仓库基础架构;
2.Hive可以用来进行数据提取转化加载(ETL)
3.Hive定义了简单的类似SQL查询语言,称为HQL它允许熟悉SQL的用户查询数据
4.Hive允许熟悉MapRduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作;
5.Hive是SQL解析引擎,他将SQL语句转移成M/R Job然后在Hadoop执行;
6.Hive的表其实就是HDFS上的目录/文件;
二,Hive的体系架构
1.Hive的元素据:1).Hive将元素据存储在数据库中(metastore)支持mysql,derby等数据库。2).Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等
2.Hadoop:用HDFS进行存储,利用MapReduce进行计算
三,一条HQL语句如何在hive中进行查询?–HQL的执行过程:
解析器,编译器,优化器完成HQL查询语句从词法分析,语法分析,编译,优化以及查询计划(plan)的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。
四,hive的安装
1,hive的安装模式:嵌入模式,本地模式,远程模式。1),嵌入模式:a,元数据信息被存储在Hive自带的Derby数据库中;b,只允许创建一个链接;c,多用于Demo;d,安装方法:解压后即可使用2),本地模式:a,元数据信息被存储在MySQL数据库中;b,MySQL数据库与Hive运行在同一台物理机器上;c,多用于开发和测试;d,安装方法:
点击这里获得本地模式的安装方法
3),远程模式:Hive和MySQL数据库存放在不同的操作系统
安装方法:参考本地模式,只需将hive-site.xml文件中的javax.jdo.option.ConnectionURL属性的localhost改为MySQL数据库所在服务器的ip地址即可。
<property><name>javax.jdo.option.ConnectionURL</name><-- 将localhost该为MySQL数据库所在服务器的ip地址 --><value>jdbc:mysql://localhost:3306/sfd?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description>
</property>
五,Hive 的管理:
1,Hive的启动方式:
1,Hive的启动方式:1),CLI(命令行)方式;a,直接输入`# <HIVE_HOME>/bin/hive`的执行程序b,输入`# hive --service cli`c,常用的CLI命令:(在hive的命令行下进行交互)清屏: Ctrl+L ! clear查看数据仓库中的表: show tables;查看数据仓库中内置的函数: show function;查看表结构:desc [tablename]查看HDFS上的文件:dfs -ls [目录]dfs -lsr [目录] 查看目录下的所有文件和文件夹(包括子目录)。执行操作系统的命令: ! [命令]执行HQL语句:select * form talbename;执行sql脚本:source [sql文件的路径]进入hive的禁黙模式: hive -S(不出现调试信息值输出结果)(在操作系统的CLI下进行交互):执行一条语句:hive -S -e 'show tables;' 2),Web界面方式;a,hive默认端口为 9999b,开启hive 的 Web 界面:hvie --service hwi有些版本可能会报如下错误:
只是因为这些版本(如hive0.13.0)自身没有hwi的web管理工具:这时我们需要通过源代码编译一下wab管理的工具;具体步骤:首先,在hive官网下载hive的源代码,解压,进入源代码目录下的hwi文件夹`# cd hwi`,然后使用`jar cvfM0 hive-hwi-0.13.0.war -C web/`将web目录下的源文件打包为hive-hwi-0.13.0.war的war包并将这个war包移动到hive工作目录下的lib目录下;修改conf/hive-site.xml文件:
这样就可以重新启动hive --service -hwi 了在界面通过网址`http://localhost:9999/hwi`(其中的localhost是mysql所在操作系统的ip)这是会报如下错误:
解决办法:我们要吧jdk目录下tool.jar包拷贝到hive目录下的lib文件夹中,现在就可以使用web管理端 3),远程服务启动方式:如果我们要以JDBC或ODBC的程序登陆到hive中操作数据时,必须选用远程服务启动方式 a,端口号10000b,启动方式:`# hive --service hiveserver &`
六,Hive的数据类型:
1,基本数据类型:
1.tinyint/smallint/int/bigint:整数类型
类型的所占字节数:
2.float/double:浮点数类型
3.boolean:布尔类型
4.string:字符串类型
varchar(20)和 char(20)的区别:前者表示字符串的最大长度是20,也就是说保存的长度可以小于20;而后者表示的是字符串的长度是就是20,就算保存的字符串的长度小于20也会按照长度20来保存。
2,复杂数据类型
1.Array:数组类型,有一系列想用数据类型的元素组成a.表的创建:
2.Map:集合类型,包含key->value键值对,可以通过key来访问元素。a.表的创建:
(Array 和 Map 的结合建表:
)
3.Struct:结构类型,可以包含不同数据类型的元素。这些元素可以通过“点语法”的反噬来得到所需要的元素。a.表的创建:
(Array 和 Struct的区别:Array中存放的必须是相同的数据类型,Stuct存放的可以是不同的数据类型)
3,时间数据类型
1.Data:从Hive0.12.0开始支持a.表现形式年月日(YYYY-MM-DD)
2.Timestamp:从Hive0.8.0开始支持a.与时区无关b.是个有Unix以来的偏移量c.查看timestamp:`select * from unix_timestamp();`
七,Hive的数据存储
数据存储模式点击这里
数据仓库——Hive入门介绍相关推荐
- 4.1 数据仓库基础与Apache Hive入门
数据仓库基础与Apache Hive入门 一.数据仓库基本概念 1.数据仓库概念 2. 案例:数据仓库为何而来 (1)业务数据的存储问题 (2)分析型决策的制定 3.数据仓库主要特征 面向主题性(Su ...
- 【大数据入门】Hadoop技术原理与应用之基于Hadoop的数据仓库Hive
基于Hadoop的数据仓库Hive 文章目录 基于Hadoop的数据仓库Hive @[toc] 6.1 概述 6.1.1 数据仓库概念 6.1.2 传统数据仓库面临的挑战 6.1.3 Hive简介 6 ...
- Hadoop入门介绍
Hadoop入门介绍 Hadoop背景介绍 发展钱途 什么是Hadoop Hadoop产生背景 Hadoop生态圈 国内应用 用户画像 HADOOP用于网站点击流日志数据挖掘 大屏展示 离线数据分析 ...
- Hive总结(六)hive入门经典
转自:http://www.zypx.cn/technology/20100606132430320046.html Hive 是什么 在接触一个新的事物首先要回到的问题是:这是什么? 这里引用 Hi ...
- hive架构介绍、SQL引擎与NoSQL引擎的对比
hive架构介绍.SQL引擎与NoSQL引擎的对比 什么是hive? 什么是数据仓库? 数据仓库的构建过程 OLTP应用和OLAP应用 数据仓库中的数据模型 什么是hive HIVE的体系结构 hiv ...
- 数据仓库-Hive(一)
文章目录 数据仓库-Hive 1. 数据仓库 1.1. 基本概念 1.2. 主要特征 1.2.1. 面向主题 1.2.2. 集成性 1.2.3. 非易失性 1.2.4. 时变性 1.3. 数据库与数据 ...
- Hive入门 ------ Hive是什么,产生背景
一.hive产生背景 Apache Hive数据仓库软件可以使用SQL方便地阅读.编写和管理分布在分布式存储中的大型数据集.结构可以投射到已经存储的数据上.提供了一个命令行工具和JDBC驱动程序来将用 ...
- Apache Hive入门1
Apache Hive入门1 Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,其中TaoBao也是其中一位使用者+贡献者,Hive被视为 一个仓库工具,可以将结构 ...
- 客快物流大数据项目(七十):Impala入门介绍
文章目录 Impala入门介绍 一.impala基本介绍 二.Impala与hive的关系
最新文章
- r语言必学的十个包肖凯_30 天学会R DAY 14:R语言必学包dplyr
- 池化层对神经网络的运算速度有什么影响
- C++多线程实现电子词典
- buf.readInt32LE函数详解
- background复合属性顺序_CSS有哪些好用的字体属性?
- android 回退函数,详解React Native监听Android回退按键与程序化退出应用
- mysql索引使增删变慢_mysql优化之索引篇
- IBM 确认裁员约 1700 人;华为新款操作系统来了!开通 5G 服务不换卡不换号 | 极客头条...
- mysql merge事务_mysql菜鸟手迹11--mysql存储引擎之Merge
- python文件夹,文件监听工具(pyinotify,watchdog)
- ARKit 和 ARCore剖析、结构、原理介绍
- ts错误:由于函数不具有返回类型批注并且在它的一个返回表达式中得到直接或间接引用,因此它隐式具有返回类型 “any“。
- miix4linux双系统,联想Miix4 Pro一键重装系统win10教程
- 关于SEL的一些总结
- 访存模式分析实验思路(毕设笔记9)
- 史上最清晰的雷霆战机游戏开发全过程(基于java,素材和源码均齐全)
- CF855G Harry Vs Voldemort 题解
- mysql8.0压缩包安装
- 数据处理之标准化/归一化方法
- WSL(Ubuntu20.04)与其图形界面安装配置