概述

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

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

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

    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 概述、安装配置的更多相关文章

  1. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  2. hive集群安装配置

    hive 是JAVA写的的一个数据仓库,依赖hadoop.没有安装hadoop的,请参考http://blog.csdn.net/lovemelovemycode/article/details/91 ...

  3. centos7 hive 单机模式安装配置

    前言:由于只是在自己的虚拟机上进行学习,所以对hive只是进行最简单的配置,其他复杂的配置文件没有配置. 1.前提 1.1 安装配置jdk1.8 1.2 安装hadoop2.x hadoop单机模式安 ...

  4. 【转】 hive简介,安装 配置常见问题和例子

    原文来自:  http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...

  5. hive介绍、安装配置、表操作基础知识适合小白学习

    1.hive概述 Apache Hive数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集.可以将结构投影到已存储的数据中.提供了命令行工具和JDBC驱动以将用户连接到Hive ...

  6. 1.hive介绍及安装配置

    1.Hive介绍 数据库OLTP 在线事务处理 数据仓库OLAP 在线分析处理 延迟高 类sql方式(HQL) 使用sql方式,用来读写,管理位于分布式存储系统上的大型数据集的数据仓库技术 hive是 ...

  7. Hive的mysql安装配置

    一.MySQL的安装 Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS,而是存在关系型数据库里,hi ...

  8. ES.01.Elasticsearch安装配置

    Windows版 提纲: 1.   安装Elasticsearch 1.1. 下载Elasticsearch: https://www.elastic.co/cn/downloads/elastics ...

  9. Linux下的Mysql安装 & 配置

    Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS里.而是存在关系型数据库里,hive默认用的是der ...

随机推荐

  1. java编程基础——从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目代码 /** * 从上往下打印出二叉树的每个节点,同层节点从左至右打印. * Created by YuKai Fan on 20 ...

  2. axios向后端请求解决跨域问题

    我要向后端的请求的url是 http://192.168.3.25/ productInfo/insert 我是先用niginx转成localhost:8081 找conf/ nginx.conf , ...

  3. 解决: Intelij IDEA 创建WEB项目时没有Servlet的jar包

    今天创建SpringMVC项目时 用到HttpServletRequest时, 发现项目中根本没有Servlet这个包, 在网上搜了一下,这个问题是因为web项目没有添加服务器导致的. 配置tomec ...

  4. Bzoj 1081 [Ahoi2009] chess 中国象棋

    bzoj 1081 [Ahoi2009] chess 中国象棋 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1801 状态比较难设,的确 ...

  5. scrapy使用流程

    安装:通过pip install scrapy即可安装 在ubuntu上安装scrapy之前,需要先安装以下依赖:sudo apt-get install python3-dev build-esse ...

  6. 九、Linux 磁盘管理

    Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fd ...

  7. k8s的储存方式简述

    pod中的存储卷类型:1.emptyDir:用于临时储存空间,无持久性储存功能,生命周期同pod容器,pod删除后,数据不再存在.2.gitRepo:pod创建时,自动将云端仓库中的文件克隆到pod挂 ...

  8. Nginx读书笔记

    ... upstream proxy_svrs { server http://192.168.1.1:8001/uri/; server http://192.168.1.2:8001/uri/; ...

  9. Javascript 模块化指北

    前言 随着 Web 技术的蓬勃发展和依赖的基础设施日益完善,前端领域逐渐从浏览器扩展至服务端(Node.js),桌面端(PC.Android.iOS),乃至于物联网设备(IoT),其中 JavaScr ...

  10. pycharm配置Git托管

    利用Pycharm和github管理代码转载https://www.cnblogs.com/feixuelove1009/p/5955332.html git教程--廖雪峰git教程  转载https ...