Hive安装和配置
Hive简介
(1) hive不支持OLTP处理
(2)Hive 1.2 及之后需要java1.7或更新版本
Hive安装
(1)hive可以安装在任何一个机器上,前提是这个机器必须要有hadoop软件(可以不启动hdfs,yarn等进程),因为Hive需要用到hadoop软件下的一些jar包
(2)hive1.x默认在哪个目录下启动就会在该目录下创建一个目录metastore_db存放用户产生的元数据,这样很不方便使用,会导致每个用户看到不一样的内容,因此可以使用mysql存放元数据
下载链接:
http://mirror.olnevhost.net/pub/apache/hive/
[root@Darren2 local]# tar -zxvf apache-hive-1.2.2-bin.tar.gz
[root@Darren2 apache-hive-1.2.2-bin]# bin/hive
hive> create database testdb;
hive> show databases;
hive> use testdb;
hive> create table t1(c1 int,c2 string)
> row format delimited
> fields terminated by ',';
[root@Darren2 hive]# hdfs dfs -ls -R /user/hive/warehouse/
drwxr-xr-x - root supergroup 0 2017-11-25 14:25 /user/hive/warehouse/testdb.db
drwxr-xr-x - root supergroup 0 2017-11-25 14:25 /user/hive/warehouse/testdb.db/t1
[root@Darren2 hive]# cat /tmp/t1.data
1,aaa
2,bbb
3,ccc
hive>select * from t1;
1 aaa
2 bbb
3 ccc
hive> select * from t1 where c2 = 'bbb';
2 bbb
hive> select count(*) from t1 group by c1;
Query ID = root_20171125143038_249cc07f-270b-422c-a165-4da49e05e6c7
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
Starting Job = job_1511577448141_0003, Tracking URL =http://Darren2:8088/proxy/application_1511577448141_0003/
Kill Command = /usr/local/hadoop/bin/hadoop job -kill job_1511577448141_0003
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2017-11-25 14:30:51,203 Stage-1 map = 0%, reduce = 0%
2017-11-25 14:31:00,747 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.52 sec
2017-11-25 14:31:09,057 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2.86 sec
MapReduce Total cumulative CPU time: 2 seconds 860 msec
Ended Job = job_1511577448141_0003
MapReduce Jobs Launched:
Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 2.86 sec HDFS Read: 6747 HDFS Write: 6 SUCCESS
Total MapReduce CPU Time Spent: 2 seconds 860 msec
OK
1
1
1
Time taken: 31.234 seconds, Fetched: 3 row(s)
也可以通过浏览器访问查看job执行的进度:http://192.168.163.102:8088/
元数据存放在mysql中配置方法
创建对应的hive库,启动hive的时候,会在其下生成很多对应的表
(1)创建连接mysql的配置文件hive-site.xml
[root@Darren2 conf]# vim /usr/local/hive-1.2.2/conf/hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhos:3306/hive?create=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>147258</value>
</property>
</configyration>
(2)下载java连接mysql的驱动mysql-connector-java-5.1.45.tar.gz
https://dev.mysql.com/downloads/file/?id=474257
解压之后把jar包mysql-connector-java-5.1.45-bin.jar放在hive-1.2.2/lib目录下
(3)在mysql创建hive库
root@localhost [(none)]>create database hive;
(4)测试
[root@Darren2 conf]# cd /usr/local/hive-1.2.2/bin/
[root@Darren2 bin]# ./hive
使用beeline客户端连接hiveserver2的方法
在一个节点上启动hiveserver2服务,可以查看是否监听到10000这个端口来判断是否能启动成功,然后在另外一个节点上使用beeline客户端连接hiveserver2,用户使用root,密码无
#启动hiveserver2
[root@Darren2 bin]# ./hiveserver2
#使用另一个节点连接:
[root@Darren2 bin]# ./beeline
beeline> !connect jdbc:hive2://192.168.163.102:10000
Connecting to jdbc:hive2://192.168.163.102:10000
Enter username for jdbc:hive2://192.168.163.102:10000: root
Enter password for jdbc:hive2://192.168.163.102:10000:
Connected to: Apache Hive (version 1.2.2)
Driver: Hive JDBC (version 1.2.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://192.168.163.102:10000> show databases;
+----------------+--+
| database_name |
+----------------+--+
| default |
| testdb1 |
| testdb2 |
+----------------+--+

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spark 安装与实战
折腾了几天,终于把Spark 集群安装成功了,其实比hadoop要简单很多,由于网上搜索到的博客大部分都还停留在需要依赖mesos的版本,走了不少弯路。 1. 安装 JDK 1.7 yumsearchopenjdk-devel sudoyuminstalljava-1.7.0-openjdk-devel.x86_64 /usr/sbin/alternatives--configjava /usr/sbin/alternatives--configjavac sudovim/etc/profile #addthefollowinglinesattheend exportJAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.19.x86_64 exportJRE_HOME=$JAVA_HOME/jre exportPATH=$PATH:$JAVA_HOME/bin exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #saveandexitvim #makethebash...
- 下一篇
Hive 工作原理详解
什么是Hive? Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。 Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。 Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境