您的位置:首页 > 大数据

大数据企业学习篇03_1------hive 初识

2017-12-11 20:20 211 查看

一、hive是什么?

<1>hive是基于Hadoop的一个数据仓库工具,可以将结构化数据映射成一张表,并提供类SQL查询查询功能。

注意:基于Hadoop的一个数据仓库工具?

*使用HDFS存储

*使用MapReduce计算

使用HQL作为查询接口***

<2>本质: 将HQL转化为MapReduce程序

<3>优点:

*灵活性和扩展性比较好:支持UDF,自定义格式等

*适合离线数据处理

二、hive架构

<1>Hive 在生态圈中的位置



<2>Hive架构



1.client:cli、jdbc、webUI访问hive,查询发送给driver

2.driver对SQL进行解析,并将元数据存在Metastore

3.driver对SQL进行编译,生成逻辑执行计划,并优化

4.driver执行器将逻辑执行计划转化成可以运行的物理计划。对hive来说,就是MR/TEZ/Spark

5.使用HDFS存储,使用MapReduce进行计算

三、hive常用属性配置

<1>Hive数据仓库位置配置

default

/user/hive/warehouse

注意事项

* 在仓库目录下,没有对默认的数据库default创建文件夹

* 如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹

hive.metastore.warehouse.dir

/user/hive/warehouse

注意: 需要修改文件权限

HADOOP_HOME/bin/hadoop fs -mkdir /tmp

HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse

HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp

HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

<2>Hive运行日志信息位置

HIVEHOME/conf/hive−log4j.propertieshive.log.dir=/soft/hive/logshive.log.file=hive.log<3>指定hive运行时显示的log日志的级别HIVE_HOME/conf/hive-log4j.properties

hive.root.logger=INFO,DRFA

<4>在cli命令行上显示当前数据库,以及查询表的行头信息

$HIVE_HOME/conf/hive-site.xml

<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>

<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>


<5>在启动hive时设置配置属性信息

$ bin/hive –hiveconf

hive (db_hive)> set system
a53a
:user.name ;
system:user.name=xiaojiangshi
hive (db_hive)> set system:user.name=xiaojiangshi ;


**注意:**此种方式,设置属性的值,仅仅在当前会话session生效


四、hive常用操作

<1>hive -e

hive -e "select * from db_hive.student ;"


<2>hive -f

$ touch hivef.sql
select * from db_hive.student ;
$ bin/hive -f /home/master/hivef.sql
$ bin/hive -f /home/master/hivef.sql > res.txt


<3>hive -i

与用户udf相互使用

<4>在hive cli命令窗口中如何查看hdfs文件系统

hive > dfs -ls / ;


<5>在hive cli命令窗口中如何查看本地文件系统

hive > !ls /home/master ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息