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
为什么不同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
相关文章推荐
- 一个测试经理的分享:我是如何管理测试团队的
- deepin15.1 开启wifi热点
- 页面中调用系统常用的对话框需要用到的classid
- Asynchronous fs.stat.isDirectory()
- 启动mysql出现1067错误
- Mybatis generator自动生成代码的几种方法
- C++阻塞队列实现
- Android View的事件分发机制(一):View
- golang实现常用数据结构
- JAVA String.format 方法使用介绍
- MySQL字符集编码
- Spark SQL: Error in query: undefined function错误的解决方法
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)(转载)
- 8.UIAlertView
- Android LayoutInflater(布局填充器)的详解
- ArrayList的一点研究
- 2015年中国大数据公司年度排行榜
- Winscock 的I/O模式,阻塞、非阻塞、重叠、同步与异步
- ASP.NET内置对象的总结
- bzoj 1013: [JSOI2008]球形空间产生器sphere 高斯消元