Hive 01 概述、安装配置
概述
数据仓库:是一个面向主题的、集成的、不可更新的、随时间不变化的数据集合,它用于支持企业或组织的决策分析处理。
数据仓库的结构和建立过程:
- 数据源
数据存储及管理
ETL Extract 提取 Transform 转换 Load 装载前端展示
数据查询 数据报表 数据分析
数据仓库引擎
1)产生背景
- MapReduce编程的不便性
- HDFS上的文件缺少schema
2)是什么
The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
- Facebook开源,最初用于海量结构化的日志数据统计问题
- 构建在hadoop之上的数据仓库
- hive定义了一种类SQL查询语言
- 通常用于进行离线数据处理(采用MapReduce。。。)
- 底层支持多种不同的执行引擎(MapReduce、tez、spark)
支持多种不同的压缩格式、存储格式以及自定义函数
压缩:GZIP LZO Snappy BZIP2 存储:TextFile SequenceFile RCFile ORC Parquet UDF: 自定义函数
hive的元数据:
- hive将元数据存储在数据库中。
- hive中的元数据包括表的名字,表的列和分区及其属性,表的属性,表的数据所在目录等。
HQL的解析和执行过程:
1)HQL
select....
2)解析器
词法分析
3)编译器
生成HQL的执行计划
4)优化器
生成最佳的执行计划
5)执行
3)为什么要使用hive
- 简单、易上手(sql语句)
- 为超大数据集设计的计算/存储扩展能力(MR计算,HDFS存储)
- 统一的元数据管理
4)体系架构
5)部署架构
测试环境
生产环境:只需要在一台机器上部署hive
2 安装部署
2.1 下载
1)先要下载安装MySQL
2)到官网下载hive
2.2 解压
2.3 配置
1)添加环境变量
2)配置文件 hive-1.1.0-cdh5.7.0/conf/hive-env.sh
# 在最后添加:
export HADOOP_HOME=xxxx
export HIVE_HOME=xxxxx
export JAVA_HOME=xxxxx
3)配置文件 hive-1.1.0-cdh5.7.0/conf/hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName<www.yingka178.com/name>
<value>com.mysql.www.thd540.com jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>rootroot</value>
</property>
4)将MySQL的java驱动包拷贝到 hive-1.1.0-cdh5.7.0/lib
3 基本使用
启动hive之前需要先启动MySQL,Hadoop。
0) 启动
/bin/hive
1 )创建表
CREATE TABLE table_name [www.leyou2.net (col_name data_type)];
例:create table hive_wordcount(context string);
2 )加载数据到hive表
LOAD DATA [LOCAL] INPATH 'filepath' INTO TABLE tablename;
ex: load data local inpath '/home/hadoop/data/hello.txt' into table hive_wordcount;
3 )wordcount操作
select word,count(1) from hive_wordcount lateral view explode(split(context,www.jimeiyulept.com'\t')) wc as word group by word;
lateral view explode(): 把每行记录按照指定分隔符进行拆解
4)配置不使用MapReduce功能
// 方法一:在hive命令行中输入
set hive.fetch.task.conversion=more;
// 方法二:启动时加入参数
hive --hiveconf hive.fetch.task.conversion=more
// 方法三:修改hive-site.xml文件
<property>
<name>hive.fetch.task.www.078881.cn conversion</name>
<value>more</value>
</property>
Hive 01 概述、安装配置的更多相关文章
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- hive集群安装配置
hive 是JAVA写的的一个数据仓库,依赖hadoop.没有安装hadoop的,请参考http://blog.csdn.net/lovemelovemycode/article/details/91 ...
- centos7 hive 单机模式安装配置
前言:由于只是在自己的虚拟机上进行学习,所以对hive只是进行最简单的配置,其他复杂的配置文件没有配置. 1.前提 1.1 安装配置jdk1.8 1.2 安装hadoop2.x hadoop单机模式安 ...
- 【转】 hive简介,安装 配置常见问题和例子
原文来自: http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...
- hive介绍、安装配置、表操作基础知识适合小白学习
1.hive概述 Apache Hive数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集.可以将结构投影到已存储的数据中.提供了命令行工具和JDBC驱动以将用户连接到Hive ...
- 1.hive介绍及安装配置
1.Hive介绍 数据库OLTP 在线事务处理 数据仓库OLAP 在线分析处理 延迟高 类sql方式(HQL) 使用sql方式,用来读写,管理位于分布式存储系统上的大型数据集的数据仓库技术 hive是 ...
- Hive的mysql安装配置
一.MySQL的安装 Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS,而是存在关系型数据库里,hi ...
- ES.01.Elasticsearch安装配置
Windows版 提纲: 1. 安装Elasticsearch 1.1. 下载Elasticsearch: https://www.elastic.co/cn/downloads/elastics ...
- Linux下的Mysql安装 & 配置
Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS里.而是存在关系型数据库里,hive默认用的是der ...
随机推荐
- Solaris&&QNX® Neutrino®&&OpenVMS&&FreeBSD&&AIX
原文链接Solaris (读作 /se'laris:/ 或者 /so'le:ris/ 或者 '梭拉瑞斯' )是Sun Microsystems研发的计算机 操作系统.它被认为是UNIX操作系统的衍生版 ...
- Symfony相关网站参考
http://www.doctrine-project.org/projects.html 数据库相关知识 http://firehare.blog.51cto.com/809276/703599整合 ...
- axios获取后端数据
axios向后端请求数据时,一直获取不到数据, 后来改成这样写获取到了数据 不是一个this,有人说用箭头函数就可以了.
- java Html&JavaScript面试题:用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- iphone丢失或忘记锁屏密码
1.首先,我们要保证手机资料已经备份到iColud或者电脑(不想要恢复备份的可跳过该步骤) 2.保证,手机的 设置 → iCloud 处于打开状态: 3.手机的查找iphone软件登录了iColud ...
- PyCharm 2018.1 软件汉化
下载汉化包 链接: https://pan.baidu.com/s/1buLFINImW_3cNzP8HsB4cA 密码: fqpu 安装汉化包 找到pycharm安装目录 直接把刚刚下载的汉化包复制 ...
- JavaScript ES6功能概述(ECMAScript 6和ES2015 +)
JavaScript在过去几年中发生了很大的变化.这些是您今天可以开始使用的12项新功能! 该语言的新增内容称为ECMAScript 6.它也称为ES6或ES2015 +. 自1995年JavaScr ...
- ES6-总结
在最近进行的项目中,已经全面使用到ES6,这里对ES6进行整理总结.用得比较多的是带*的内容,这些语法.新增类型.模块调用等从代码量上.可读性上.操作上给项目带来了不少便利. 1.语法 1.1.命 ...
- docker时区正常,但java获得的时间早了8小时解决方法
我解决容器时区的方法是挂载宿主机的/etc/localtime 到容器的/etc/localtime,这时输入date命令容器时区显示正常,但是跑在容器中的java项目取到的时间却早了8小时. 查阅相 ...
- [原]sencha touch之NavigationView
还是直接上代码,都是基本的几个容器控件,没什么还说的 Ext.application({ name:'itkingApp', launch:function(){ var view =Ext.crea ...