博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive简介及快速安装
阅读量:2047 次
发布时间:2019-04-28

本文共 6180 字,大约阅读时间需要 20 分钟。

1.产生背景

1.MR来开发业务逻辑:繁琐、痛苦2.通过SQL来完成大数据的统计分析任何一个框架的诞生必然是由于某类问题的存在。

2.介绍

Apache Hive数据仓库软件支持使用SQL读取、写入和管理驻留在分布式存储中的大型数据集。结构可以投影到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。

最初是由facebook管理,为了解决海量的结构化日志的统计问题,后将Hive的代码托管到GitHub,刚开始时是作为Hadoop项目的一个子项目的,后面才单独成为一个项目。Hive是构建在Hadoop之上的数据仓库 适合处理离线,底层支持的引擎:MR/Spark/Tez,是一个类SQL的框架, HQL和SQL之间没有任何关系,HQL是仿照SQL参照写的。Hive是一个客户端,不是一个集群,能够将SQL翻译成MR/Spark,提交到Hadoop集群上去运行。
Hive拥有统一的元数据管理,Spark SQL/Hive/Impala/Presto 之间的数据可以相互转换。什么是元数据呢,元数据就是描述数据的数据,例如:一张表的表名,字段名,字段类型……都称为元数据。Hive的数据文件存储在HDFS上,元数据则存储到MySQL中。

3.安装

上传Hive的bin包到服务器[hadoop@hadoop001 software]$ lltotal 12drwxrwxr-x 10 hadoop hadoop 4096 Jul 15 19:28 hadoop-2.6.0-cdh5.15.1drwxr-xr-x 11 hadoop hadoop 4096 Aug  9  2018 hive-1.1.0-cdh5.15.1解压文件到对应的目录[hadoop@hadoop001 software]$ tar -zxvf hive-1.1.0-cdh5.15.1.tar.gz -C ~/app/配置系统环境变量export HIVE_HOME=/home/hadoop/app/hiveexport PATH=${HIVE_HOME}/bin:${HiVE__HOME}/sbin:$PATH添加mysql-connector-java-5XXX.jar 到HIVE_HOME/lib目录下,这是连接mysql跟hive的驱动文件[hadoop@hadoop001 lib]$ ll mysql-connector-java-5.1.47.jar -rw-rw-r-- 1 hadoop hadoop 1007502 Aug  7  2018 mysql-connector-java-5.1.47.jar修改hive-site.xml 文件,一般里面是没有内容的,需要自己添加[hadoop@hadoop001 conf]$ cat hive-site.xml 
  
javax.jdo.option.ConnectionURL
  
jdbc:mysql://hadoop001:3306/ruozedata_d7?createDatabaseIfNotExist=true
  
javax.jdo.option.ConnectionDriverName
  
com.mysql.jdbc.Driver
  
javax.jdo.option.ConnectionUserName
  
root
  
javax.jdo.option.ConnectionPassword
  
123456
hive.cli.print.current.db
true
hive.cli.print.header
true
启动Hive[hadoop@hadoop001 conf]$ hivewhich: no hbase in (/home/hadoop/app/hive/bin:/sbin:/home/hadoop/app/hadoop/bin:/home/hadoop/app/hadoop/sbin:/usr/loca/mysql/bin:/usr/java/jdk1.8.0_45/bin/:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)Logging initialized using configuration in file:/home/hadoop/software/hive-1.1.0-cdh5.15.1/conf/hive-log4j.propertiesWARNING: Hive CLI is deprecated and migration to Beeline is recommended.hive (default)> 

至此,Hive的安装完成。

4.数据查看

Hive的数据存放在HDFS位置,这个位置是由参数:hive.metastore.warehouse.dir决定的,可以在 hive-site.xml 修改默认文件存放路径

hive.metastore.warehouse.dir
新路径
[hadoop@hadoop001 ~]$ hdfs dfs -ls /user/hive/warehouse/ruozedataFound 1 items-rwxr-xr-x   1 hadoop supergroup         36 2019-07-16 16:59 /user/hive/warehouse/ruozedata/people.txt

Hive的元数据存放在MySQL中,创建的库默认在hive-site.xml说明了,这边我们创建了ruozedata_d7数据库。

mysql> use ruozedata_d7Database changedmysql> show tables;+---------------------------+| Tables_in_ruozedata_d7    |+---------------------------+| bucketing_cols            || cds                       || columns_v2                || database_params           || dbs                       || func_ru                   || funcs                     || global_privs              || part_col_stats            || partition_key_vals        || partition_keys            || partition_params          || partitions                || roles                     || sd_params                 || sds                       || sequence_table            || serde_params              || serdes                    || skewed_col_names          || skewed_col_value_loc_map  || skewed_string_list        || skewed_string_list_values || skewed_values             || sort_cols                 || tab_col_stats             || table_params              || tbls                      || version                   |+---------------------------+29 rows in set (0.00 sec)查看数据库在HDFS对应的文件路径mysql> select * from dbs;+-------+-----------------------+-------------------------------------------+---------+------------+------------+| DB_ID | DESC                  | DB_LOCATION_URI                           | NAME    | OWNER_NAME | OWNER_TYPE |+-------+-----------------------+-------------------------------------------+---------+------------+------------+|     1 | Default Hive database | hdfs://hadoop001:9000/user/hive/warehouse | default | public     | ROLE       |+-------+-----------------------+-------------------------------------------+---------+------------+------------+1 row in set (0.00 sec)查看HIVE版本信息mysql> select * from version;+--------+-----------------+-------------------+-----------------------------------+| VER_ID | SCHEMA_VERSION  | SCHEMA_VERSION_V2 | VERSION_COMMENT                   |+--------+-----------------+-------------------+-----------------------------------+|      1 | 1.1.0-cdh5.15.1 | NULL              | Set by MetaStore hadoop@10.9.0.62 |+--------+-----------------+-------------------+-----------------------------------+1 row in set (0.00 sec)查看对应的表数据mysql> select * from tbls;+--------+-------------+-------+------------------+--------+-----------+-------+-----------+---------------+--------------------+--------------------+| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER  | RETENTION | SD_ID | TBL_NAME  | TBL_TYPE      | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |+--------+-------------+-------+------------------+--------+-----------+-------+-----------+---------------+--------------------+--------------------+|      1 |  1563267428 |     1 |                0 | hadoop |         0 |     1 | ruozedata | MANAGED_TABLE | NULL               | NULL               |+--------+-------------+-------+------------------+--------+-----------+-------+-----------+---------------+--------------------+--------------------+1 row in set (0.00 sec)查看对应表的字段信息mysql> select * from columns_v2;+-------+---------+-------------+-----------+-------------+| CD_ID | COMMENT | COLUMN_NAME | TYPE_NAME | INTEGER_IDX |+-------+---------+-------------+-----------+-------------+|     1 | NULL    | age         | int       |           2 ||     1 | NULL    | id          | int       |           0 ||     1 | NULL    | name        | string    |           1 |+-------+---------+-------------+-----------+-------------+3 rows in set (0.00 sec)

转载地址:http://ezqof.baihongyu.com/

你可能感兴趣的文章
梦飞 —— 述:我只是一个普通农民家的孩子,但我有一个梦想
查看>>
图解HTTP(二)—— 简单的HTTP协议
查看>>
程序员的数学(四)—— 数学归纳法,如何征服无穷数列
查看>>
不是技术人员也能看懂云计算、大数据、人工智能
查看>>
图解HTTP(三)—— HTTP报文内的HTTP信息
查看>>
图解HTTP(四)—— 返回结果的HTTP状态码
查看>>
JavaWeb高级编程(五)—— 使用会话来维持HTTP状态
查看>>
Intellij IDEA使用(十五)—— 如何在IDEA中一个Tomcat启动多个项目和多个Tomcat启动多个项目
查看>>
图解HTTP(五)—— 与HTTP协作的Web服务器
查看>>
程序员的数学(五)—— 排列组合,解决计数问题的方法
查看>>
前后端分离实践(四)—— 使用vue-cli搭建前端展示层并用mock模拟测试数据
查看>>
前后端分离实践(六)—— 前端与后端在生产环境中的分离部署
查看>>
启航 —— 记 —— 第二次自考的反思:自考与自我改造的困境
查看>>
数据结构与算法(三)——线性表
查看>>
Java8学习笔记(一)—— 函数式编程的四个基本接口
查看>>
Java8学习笔记(二)—— Lambda表达式
查看>>
Java8学习笔记(三)—— Optional类的使用
查看>>
Java8学习笔记(四) —— Stream流式编程
查看>>
Java8学习笔记(五)—— 方法引用(::双冒号操作符)
查看>>
数据结构与算法(四)—— 栈与队列
查看>>