hive的快速入门

痞子三分冷 提交于 2020-01-15 11:38:45
  1. hive 是什么?
    HIVE是一个可以将sql翻译为MR程序的工具
    HIVE支持用户将HDFS上的文件映射为表结构,然后用户就可以输入SQL对这些表(HDFS上的文件)进行查询分析
    HIVE将用户定义的库、表结构等信息存储hive的元数据库(可以是本地derby,也可以是远程mysql)中

  2. HIVE的用途?
    解放大数据分析程序员,不用自己写大量的mr程序来分析数据,只需要写sql脚本即可
    HIVE可用于构建大数据体系下的数据仓库

3.安装mysql,并启动
因为默认的是derby数据库同一时间只能单一用户访问.
不会安装mysql 的参见我的另一篇博客
https://blog.csdn.net/weixin_43548518/article/details/103960770

  1. hive 的安装和配置

本次安装的是hive-2.1.1.tar.gz 直接解压
配置: 修改配置文件hive-site.xml, 告诉hive mysql 的四要素,如下

vi conf/hive-site.xml

<configuration>
#mysql url
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

#mysql driver
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

#mysql user
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>

#mysql password
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>

拷贝mysql-connector-java-5.1.39.jar 到hive安装目录的/lib目录下

  1. 使用hive,前提启动hadoop+yarn
    6.1:可以交互式查询:
    bin/hive -----> hive>select * from t_test; 将hive启动为一个服务: bin/hiveserver ,然后可以在任意一台机器上使用beeline客户端连接hive服务,进行交互式查询

6.2:可以将hive作为命令一次性运行:
** bin/hive -e “sql1;sql2;sql3;sql4”
** 事先将sql语句写入一个文件比如 q.hql ,然后用hive命令执行:  bin/hive -f q.hql

6.3:可以将方式2写入一个xxx.sh脚本中
7.这样hive就可以使用了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!