Hive 01 概述、安装配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihaogn/article/details/82108554

1 概述

数据仓库:是一个面向主题的、集成的、不可更新的、随时间不变化的数据集合,它用于支持企业或组织的决策分析处理。

数据仓库的结构和建立过程:

  • 数据源
  • 数据存储及管理

    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</name> 
   <value>com.mysql.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> 

</configuration>

4)将MySQL的java驱动包拷贝到 hive-1.1.0-cdh5.7.0/lib

3 基本使用

启动hive之前需要先启动MySQL,Hadoop。

0) 启动

/bin/hive

1 )创建表

CREATE TABLE table_name [(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,'\t')) wc as word group by word;
lateral view explode(): 把每行记录按照指定分隔符进行拆解

猜你喜欢

转载自blog.csdn.net/lihaogn/article/details/82108554