专栏首页爱编码《Hive使用教程》--- 大数据系列

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

一、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

wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz

3.2. 配置hive的环境变量

vim ~/.bash_profile

3.3. conf/hive-env.sh配置

HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0

3.4. 配置hive-site.xml

<?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中

wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.27/mysql-connector-java-5.1.27.jar

四、Hive的使用

hive基本操作

4.1. 创建表

create table hive_wordcount(context string);

4.2. 加载数据到hive表

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. 练习

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;

本文分享自微信公众号 - 爱编码(ilovecode),作者:zero

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一波操作搞定MyCat

    本文以实际操作为主,理论性比较少,主要包含mycat安装,mysql主从复制,mycat垂直分库,mycat水平分表等系列操作,希望对有机会接触到mycat的朋...

    用户3467126
  • 一篇秒懂mycat

    哈喽,大家好,最近换了工作,为了更快的熟悉新环境,大部分精力都在学习公司的项目业务以及技术,所以公众号更新就少了(非常感谢各位依旧关注),但是我又学到了一些新的...

    用户3467126
  • 为什么MySQL数据库索引选择使用B+树?

    我们在MySQL中的数据一般是放在磁盘中的,读取数据的时候肯定会有访问磁盘的操作,磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。盘片旋转就是我们市面上所...

    用户3467126
  • 让Hive支持行级insert、update、delete

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

    用户1148526
  • 大数据学习系列之五 ----- Hive整合HBase图文详解

    Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.j...

    用户2292346
  • Hive初步使用、安装MySQL 、Hive配置MetaStore、配置Hive日志《二》

    将Mysql安装包上传到服务器上,然后解压压缩包,使用命令:unzip mysql-libs.zip

    梅花
  • Hadoop——Hive

    官方地址http://hive.apache.org/ 简单,容易上手提供了类似SQL查询语言HQL 为超大数据集设计的计算、存储拓展能力 统一的元数据管...

    羊羽shine
  • Hadoop技术(三)数据仓库工具Hive

    在这里可以回顾一下Hadoop的相关知识: 1.x job tracker 既管资源调度又管任务分配 2.x 分为ResourceManager(资源分配)...

    时间静止不是简史
  • HiveServer2用户名和密码认证

    解压之后将libjpam.s复制到/usr/local/service/hadoop/lib/native中

    shangwen_
  • Hadoop Hive Hbase Kylin 环境搭建

    # hadoop-env.sh 配置 export JAVA_HOME=`absolute path` # core-site.xml 配置 <conf...

    lpe234

扫码关注云+社区

领取腾讯云代金券