• Hive简介及安装配置


    Hive由Facebook开源,用于解决海量结构化日志的数据统计。它是基于Hadoop的几个数据仓库工具,可以将结构化的数据映射成一张表,并提供类SQL查询功能。本质是将HQL(类SQL)转化成MapReduce程序。Hive其实是一个客户端,所以安装到一个机器即可(类似于部署网站)。是一种分析工具不是存储(和HBase不一样),HDFS存储。

    Hive优势:Hive执行延迟比较高(本质MapReduce),适合大数据,实时性要求高的不适合。Hive支持自定义函数。

    Hive缺点:HQL表达能力有限,迭代式算法无法实现(第一次计算结果作为第二次计算结果,MR需要串联,很难做到),数据挖掘不擅长。Hive自动生成的MapReduce作业通常不够智能化。Hive调优比较困难,粒度较粗。

    体系架构

    Hive架构图如下图:

    Hive架构图

    Meta Store使用的是Apache的Derby数据库(单用户模式),该数据库可以用MySQL代替。

    安装与配置

    1. 下载apache-hive-1.2.1.tar.gz文件,解压。

    2. 配置HIVE_HOME环境变量,并修改PATH变量。

    3. 修改conf目录下的hive-env.sh文件。例如:

      HADOOP_HOME=/usr/local/hadoop-2.7.6
      HIVE_CONF_DIR=/usr/local/hive-1.2.1/conf
      
      • 1
      • 2
    4. 修改conf目录下的hive-site.xml配置文件。例如:

      <configuration>
          <property>
              <name>hive.metastore.warehouse.dir</name>
              <value>/user/hive/warehouse</value><!--指定数据存放路径,这是HDFS路径,这是默认值-->
              </property>
          <property>
              <name>hive.cli.print.header</name>
              <value>true</value><!--命令行打印列头,默认false-->
          </property>
          <property>
              <name>hive.cli.print.current.db</name>
              <value>true</value><!--打印数据库名称,默认为false-->
          </property>
      </configuration>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      hadoop fs -chmod g+w /user/hive/warehouse # 设置组有写权限
      
      • 1
    5. 修改运行日志存放位置,默认在/tmp/username/hive.log(Linux本地路径)下。在conf目录编辑hive-log4j.properties,如下:

      hive.log.dir=/usr/local/hive-1.2.1/logs
      
      • 1
    6. 启动HDFS和YARN,Zookeeper也可以启动,有人用startcluster.sh命令启动了上述三个。然后使用hive命令即可打开命令行模式,和MySQL命令行模式类似。常用命令:

      hive # hive -hiveconf propertyname=value;,进去之后也可以set propertyname=value;
      show databases;
      create table tbname(id int, name string);
      
      • 1
      • 2
      • 3
  • 相关阅读:
    人工智能 | ShowMeAI资讯日报 #2022.06.29
    SpringBoot 整合【MybatisPlus、Shiro】实现权限认证信息
    什么是大数据测试?有哪些类型?应该怎么测?
    规则引擎go
    计算机网络常见端口号
    2023年【山东省安全员A证】考试内容及山东省安全员A证考试报名
    Revit二次开发环境Addin和Lookup配置快速上手教程
    Java开发从入门到精通(五):JDK9-JDK16 新特性
    [machine Learning]推荐系统
    单链表基本练习-删除
  • 原文地址:https://blog.csdn.net/XueminXu/article/details/125433391