您的位置:首页 > 其它

hive入门

2016-02-26 13:22 218 查看
hive是一个数据挖掘工具。只要会sql,就会用hive。

为什么不同pig?因为用的公司太少了,维护成本高一点。

hive是一个工具,最终还是转换成mapreduce,在分析大型数据的时候,没有一个框架能替代hive。

hive最早是Facebook研发的,它要挖掘用户的行为。

hive的语法和MySQL的语法简直是一样的,只不过有一些是对MySQL的扩展。

数据仓库和数据库的区别:数据库——可以实时地进行增删改查,数据仓库——用来存放大量数据,也可以对仓库里的东西进行分析,计算(弱点,不能实时更新)【一次写入多次读取】

hive是建立在hadoop上的数据仓库基础框架,它是部署在hadoop集群上的一个框架,可以存储,查询和分析存储在hadoop中的大规模数据的机制。

hive是神器:你写一条语句,它就可以把它转化成mapreduce(我们完成一个排序,就要写一个mapreduce),在hive里写order by就可以自己写MR

hive的语句:HQL

hive要依赖hdfs和yarn。读取数据,运行mapreduce。hive是SQL解析殷勤,将其转换为MR任务,提交到yarn上运行。

hive的表里面保存着数据,对应着hdfs上的目录/文件夹,表里面的数据对应着hdfs的文件。



metastore:保存表的描述信息,真正计算的数据存放在HDFS。

用户有三种方式操作hive:CLI,(命令行),JDBC/ODBC,WebUI(通过浏览器查看hive信息),用的最多的是CLI(命令行),发一条语句就可以了

l用户接口主要有三个:CLI,JDBC/ODBC和WebUI
1.CLI,即Shell命令行
2.JDBC/ODBC 是Hive 的Java,与使用传统数据库JDBC的方式类似
3.WebGUI是通过浏览器访问Hive
lHive 将元数据存储在数据库中(metastore),目前只支持mysql、derby。Hive
中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等
l解释器、编译器、优化器完成HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划(plan)的生成。生成的查询计划存储在HDFS 中,并在随后有MapReduce调用执行
lHive 的数据存储在HDFS 中,大部分的查询由MapReduce完成(包含 * 的查询,比如 select * from table 不会生成MapRedcue任务)

启动zookeper,再启动hdfs,再启动yarn,

把六台机器全部启动起来,再连接一下。

cd到/itcast/zookeeper-3.4.5/bin目录下,然后启动zk ./zkServer.sh start

05 06 都启动zk

接下来该启动hdfs,启动01(因为01配置了到其它机器的免登陆)

cd /itcast/hadoop-3.3.0/sbin 下面 ./start-dfs.sh

在03上启动yarn cd /itcast/hadoop-2.2.0/sbin ./start-yarn.sh

把hive放在03上【安装在任何一台机器上都可以】

同样的方法 tar -zxvf apache-hive -C /itcast/

然后cd到/itcast/ 找到hive,然后ls,cd到bin目录下有一个hive脚本【实际上,不用修改任何一个配置文件,就可以玩了】

./hive

就进入了hive状态。怎么用hive?

show tables;

show databases;

create table student(it int,name string); 创建一张表

再show tables
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: