今天将天翼云中的两台hadoop节点进行了hive操作,结果大吃一惊。原来实践后的hive与原来的理解完全不同。各位有机会,一定实际操作云及各项应用,这样既记忆深刻,更重要的是检验理论。今天我们来看看实际hive操作过程。

        一、安装hive

        因为上次安装了两个节点的hadoop最小集群(master、node节点),今天直接在master节点上安装了hive。因为hive是基于hdfs存储,因此必须先基于昨天的hadoop集群;另一方面,hive必须安装在master节点中,因为hive将基于mapreduce下发任务。

        安装hive不容易,如果是大规模应用建议首先安装mysql等结构化数据,因为hive必须将数据仓库的元数据(也就是create table中的字段)放入mysql等结构化数据中。如果使用了mysql则必须将JConnector JAR包放入hive的lib目录中,作为hive程序调度使用。

        接下来再安装hive程序,hive程序必须配置hive_env、hive_site.xml两个配置文件。

        详细操作步骤网上有详细说明,安装步骤不是本文的重点。

        二、使用hive

        这里是我最吃惊的地方,原因hive是一个基于hdfs的结构数据仓库(也就是数据库)。这里有几个我意外的地方

        1、启动hive,hive是一个数据仓库。用sql命令直接可以操作hdfs中的数据仓库内容。

        如下图,用show databases; 直接查看数据

天翼云实践(二):hive操作

        而在hdfs中,每个数据库是一个目录。数据表在每个目录中的一个文件

天翼云实践(二):hive操作

        2、hive的元数据真的在mysql中。

        如下图,我在hive中用create table创建了4个表。4个表的元数据全存放入了mysql中。

天翼云实践(二):hive操作

        3、hive的insert语句居然启动了一个mapreduce任务

        不得不说,hive不是一个高效率的数据库,但绝对是一个能扛重担的数据库。在轻量化的数据应用中,用hive效率也许比mysql慢,但数据量巨大,hive的集群管理功能一定会派上大用场。

        用hive作数据的实时计算,一定会让你失望。他合适存放大容量的数据,进行数据二次挖掘计算。

天翼云实践(二):hive操作

        4、hive绝对是基于hdfs之上

        通过操作create、insert语句,我们的hdfs的数据块在不断增加,node1节点中存储的block从3增长到了13。

天翼云实践(二):hive操作

希望以上文章能帮到您。

更多内容实时更新,请访问公众号。    天翼云实践(二):hive操作

 

点击这里,获取最高¥1888阿里云产品通用代金券

相关文章: