hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析
在安装Hive之前,要求先预装: - 安装JDK - 安装Hadoop - 安装MySQL
将hive解压到/usr/local下:
wget http://mirror.bit.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local/ mv apache-hive-3.1.2-bin hive修改环境变量/etc/profile
#hive export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin执行source /etc.profile:执行
hive --version有hive的版本显现,安装成功!
建立Hive专用的元数据库
创建Hive专用元数据库:
usr/local/hive/conf/修改hive-site.xml:
cp hive-default.xml.template hive-site.xml vim hive-site.xml1.配置hive-site.xml(第5点的后面有一个单独的hive-site.xml配置文件,这个如果有疑问可以用后面的配置文件,更容易明白)
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property>“hive?createDatabaseIfNotExist=true”如果hive数据库不存在就自动创建一个数据库
2.复制mysql的驱动程序到hive/lib下面。下载地址:https://dev.mysql.com/downloads/connector/j/) (驱动包名为:mysql-connector-java-5.1.46-bin.jar)
3.在mysql中hive的schema(在此之前需要创建mysql下的hive数据库)
[root@s100 bin]# pwd /usr/local/hive/bin [root@s100 bin]# schematool -dbType mysql -initSchema4.执行hive命令
执行HiveQL
hive> create database hive_1; OK Time taken: 1.432 seconds hive> show databases; OK default hive_1 Time taken: 1.25 seconds, Fetched: 2 row(s)在Hive中创建表xp:
在mysql中查看:(use hive切换到数据库hive)
显示 hive 数据库中的数据表:
查看 hive 的元数据信息:
到此Hive集成Mysql作为元数据已完成。