zoukankan      html  css  js  c++  java
  • Hive分布式的数据仓库

    1.hive介绍

      hive是一个数据仓库的解决方案,它的数据存储依赖于HDFS,数据结算依赖于MR,也就是说,hive就是一个在数据仓库的服务,它只需要安装到一台普通的PC上即可,仅仅对外提供SQL服务(和hadoop、hbase、spark、storm不同,应为这些都是分布式服务),对客户端的SQL最终转换成对HDFS的操作和MR的操作。

      hive有两种作用,第一就是是一个数据仓库,他对数据的组织,比如说表、分区等目录结构,第二就是他的SQL实现是基于Mapreduce。

      所以,现在hive组织数据是目前无人可比,而它的SQL计算则可以使用MPP、mapreduce、spark迭代式计算、流计算等计算引擎,所以你看见impala、shark、的安装都是基于hive的,就是重用hive的数据仓库功能,即在hive里面组织数据。

    2.hive就是服务,不需要分布式安装

      hive的表,分区,桶本质就是在HDFS上面建立一些目录,同时借助RDBMS存储自己的元数据(用户的DDL,DML作为元数据,存储在RDMS里面,Hive引擎就会解析这些数据        生成MR的job运行,同时将HIve里面的表存储转换成hdfs的目录)。

    3.hive的DDL操作

      建立表

        1.在rdms里面存储表的列,名称

        2.在hdfs里面以表的名称,建立了一个目录

      插入数据、查询数据 

        1 将hql经过解析,形成执行计划,最后生成mr的job运行,而hql里面的表转换成hdfs里面的目录作为mr的输入和输出

      聚合函数、窗口函数以及OLAP的CUBE等聚合函数

        1 avg、sum、count、rank、cube等度量值的聚合方式。

    ==================================================================================================

    hive的调优:

    1、减少shuffle的数据传输、而这块主要就是join连接的优化

    2、task任务的个数

    3、jvm堆内存、栈内存空间的设置

    4、队列的设置、hadoop的调度策略以及资源分配配置

  • 相关阅读:
    mybatis中 无效的比较: invalid comparison: java.util.Date and java.lang.String
    java中日期的加减,比较,以及与String的互相转换
    Java中文件上传下载 --使用Minio
    Dubbo SPI 源码深入分析
    新建Maven项目 发布服务 注册到zookeeper
    Dubbo SPI 源码分析
    思维方法
    JDK 和 Dubbo SPI 的入门浅析Demo
    Dubbo不用注册中心实现远程调用的简单用法demo
    解决linux系统下tar解压文件报错问题
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/5118977.html
Copyright © 2011-2022 走看看