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(命令行),发一条语句就可以了
启动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