Hive 简介
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。
用户在hive上编写sql可以实现将数据进行分布式存储,hive通过底层的mapreuduce程序进行转换Java代码执行。
从hive 的logo我们也可以大致的才猜想得,hive是Hadoop的一个种工具,没有独立的思想。Hive的主要功能包括数据提取、转化和加载(ETL),它能够将结构化的数据文件映射为数据库表,并提供SQL查询功能。
hive框架映射流程
用户从CLI,JDBC等接口进入进行操作。
Metastore为元数据管理器,元数据包含了:用Hive创建的database、table、表等元素信息。
元数据存储:存在关系型数据库中,如hive内置的Derby数据库或者第三方MySQL数据库等,一般使
用Mysql数据库。
Metastore的三种模式
Metastore有三种模式:内嵌模式、远程模式、本地模式
内嵌模式:
优点: 配置简单 hive命令直接可以使用
缺点: 不适用于生产环境,derby和Metastore服务都嵌入在主Hive Server进程中,一个服务只能被
一个客户端连接(如果用两个客户端以上就非常浪费资源),且元数据不能共享。
本地模式:
优点:可以单独使用外部的数据库(mysql),元数据共享
缺点:相对浪费资源,metastore嵌入到了hive进程中,每启动一次hive服务,都内置启动了一个
Metastore。
远程模式:
优点:可以单独使用外部库(mysql),可以共享元数据,本地可以连接Metastore服务也可以连接
hiveserver2服务,增加了扩展性。
缺点:需要先启动metastore服务再启动hiveserver2服务。
Hive操作
想要进行hive操作需要先进行Hadoop相关程序的启动,
在客户端连接虚拟机,启动Hadoop
执行命令:start-all.sh
在使用jps查看启动的进程。
启动完成相关的进程后,启动metastore元数据库和hive的server,二代客户机,
在命令对话框中输入命令
nohup hive --service metastore &
以及命令:nohup hive --service hiveserver2 &
结果如下:
启动完成相关进程后,查看启动情况 jps -m, 查看详细信息
进程启动完成
在命令框写入代码lsof -i:10000 ,查看hive启动情况
也可以在Windows系统的浏览器查HDFS启动情况,
在浏览器统一资源管理器(网址)中输入:虚拟机主节点IP:9870 回车执行
可实时查看hdfs内的数据情况。
关闭hive
在命令中输入
kill -9 runjar前的端口号
杀死程序即可
关闭Hadoop可以使用一键关闭命令:stop-all.sh
最后,我希望这次分享能够激发大家对Hive及大数据技术的兴趣和热情。大数据的世界广阔无垠,充满挑战与机遇。愿我们都能在这个领域里不断探索、成长,用数据驱动未来,创造更多价值。感谢大家的聆听和参与,期待我们在未来的学习道路上再次相遇!
版权归原作者 小李不要掉头发 所有, 如有侵权,请联系我们删除。