前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Hive使用教程》--- 大数据系列

《Hive使用教程》--- 大数据系列

作者头像
用户3467126
发布2019-07-03 17:52:27
6.4K0
发布2019-07-03 17:52:27
举报
文章被收录于专栏:爱编码爱编码
一、Hive是什么?

1. Hive起源于Facebook,它使得针对Hadoop进行SQL查询成为可能,从而非程序员也可以方便地使用。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务运行。

2. Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。

二、Hive工作原理(自己研究官网(点击原文链接)呗)
三、Hive的安装

3.1.下载hive-1.1.0-cdh5.7.0.tar.gz

代码语言:javascript
复制
wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz

3.2. 配置hive的环境变量

代码语言:javascript
复制
vim ~/.bash_profile

3.3. conf/hive-env.sh配置

代码语言:javascript
复制
HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0

3.4. 配置hive-site.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://127.0.0.1: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>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>xbm123456</value>
    </property>
</configuration>

3.5. 关键的一步 拷贝mysql-connector的jar包到hive_dir/lib中

代码语言:javascript
复制
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.27/mysql-connector-java-5.1.27.jar
四、Hive的使用

hive基本操作

4.1. 创建表

代码语言:javascript
复制
create table hive_wordcount(context string);

4.2. 加载数据到hive表

代码语言:javascript
复制
LOAD DATA LOCAL INPATH 'filepath' INTO TABLE tablename;

load data local inpath '/root/data/hehe.txt' into table hive_wordcount;

select word ,count(1) from hive_wordcount lateral view explode(split(context,'\t')) wc as word group by word;

4.3. 练习

代码语言:javascript
复制
create table emp(
    empno int,
    ename string,
    job  string,
    mgr  int,
    hiredate string,
    sal double,
    comm double,
    deptno int
  ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; 

create table dept(
    deptno  int,
    dname  string,
    loc  string
  )ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

load data local inpath '/root/data/emp.txt' into table emp;
load data local inpath '/root/data/dept.txt' into table dept;

//求每个部门的人数
select deptno,count(1) from emp group by deptno;
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱编码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Hive是什么?
  • 二、Hive工作原理(自己研究官网(点击原文链接)呗)
  • 三、Hive的安装
  • 四、Hive的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档