美文网首页
Hive-数据分析系统

Hive-数据分析系统

作者: 一个喜欢烧砖的人 | 来源:发表于2018-09-22 12:27 被阅读110次

背景

为了降低大数据领域使用mepreduce的使用门槛,提高分析效率,大数据引用了对sql的支持

  • mepreduce对应hive
  • spark对应spark sql

sql on hadoop

目的:

  • 基于计算引擎
  • 基于mpp架构

hive架构

hive 对外访问
  • hive对外提供了三种访问方式,包括web ui 、cli 、thrift协议
hive 后端主要由三个服务组成
  • driver(驱动器) :与传统数据库的查询引擎类似,在这里指的是mepreduce或者spark等
  • metastore:hive metastore是管理和储存元信息的,在hive中默认用的是derby,但是一般用的mysql
  • hadoop:hive依赖于hadoop 储存用的是hdfs,分析用的mepreduce,资源用的是yarn等
metastore分为三种 部署模式
  • 嵌入式模式:metestore和数据库嵌入到driver中(一般用于测试)
  • 本地模式:driver和metastore运行在本地,而数据库启动在一个共享节点上
  • 远程模式:metastore运行在单独的一个节点上,由其他所有服务共享 使用beeline,jdbc等方式访问(这是一种常用的生产环境下的部署模式)
    (hive 的metastore里面的元数据可以直接被presto,impala等sql直接访问)
hive查询引擎(dag相比于mepreduce的优点:)
  • dag避免了记住分布式文件系统交换数据带来的不必要的网络和磁盘的io
  • 将重复使用的数据放在内存中加速读取效率
  • 服用资源直到sql执行完毕

hive表操作

  • 传统型数据库是插入时校验,而hive是计算式校验(数据合法的校验)
  • hive数据表是分层的
  • hive数据表的类型(临时表(只对当前session有效,如果当前session退出,则消失)、外部表(删除数据库时,只是删除了元数据)、受管理表(与元数据的生命周期是一致的,如果删除则都删除了))
  • 分区表:
    数据表可以按照某一个或者几个字段进一步划分多个数据分区(使用语句:partitioned by col_name),不同的分区其实在不同的目录中,这样在查询时候不同的分区会直接跳过,大大减少了不必要的磁盘io
  • 分桶表:
    数据表或者数据分区可以按照某个字段进一步分成若干个桶,(不如语句:clustered by(userid) into 32 buckets ,这一语句将数据表按照userid 分成32个数据桶)

hive执行引擎

image.png

hive 分区表

  • 查询时为了减少不必要的扫描可以采用分区表
  • 为了避免产生过多的小文件,建议只对离散字段进行分区

hive实用优化

  • 分区表-提高查询(partition)
  • 列式存储(parquet和orc)
  • 表连接优化(将大表放后面)
  • 尽早的过滤数据
  • 尽量原子化操作(避免复杂的语句,建议使用临时表来过渡)
  • 如果要用到union into 替换成insert into(性能能提上50%)
  • order by 改为 sort by (全局排序改为局部排序)
  • 数据倾斜

hive的事务

相关文章

  • Hive-数据分析系统

    背景 为了降低大数据领域使用mepreduce的使用门槛,提高分析效率,大数据引用了对sql的支持 mepredu...

  • 数仓--Hive--面试题准备

    数仓--Hive-面试之Hive与HBase的区别数仓--Hive-面试之Hive架构原理数仓--Hive-面试之...

  • 数据分析系统软件开发,宝安bi大数据分析系统的好处

    数据分析系统软件开发,宝安bi大数据分析系统的好处 数据分析系统软件开发,bi大数据分析系统搭建,在未来一段时间内...

  • 分析系统与传统事务系统对比

    1、分析系统与传统事务系统的对比 大数据分析系统包含实时分析系统(如:Storm、Samza)和离线分析系统(如:...

  • HIVE- 数据倾斜

    数据倾斜就是由于数据分布不均匀,数据大量集中到一点上,造成数据热点。大多数情况下,分为一下三种情况: 1.map端...

  • 2019-07-12 11、考勤系统总结报告

    一、打卡考勤系统需求分析报告 打卡考勤系统需求分析报告 二、考勤系统数据库设计 考勤系统数据库设计 三、考勤系统界...

  • 携程的数据采集系统架构

    实时数据采集系统 原文链接 1. 典型的数据采集分析系统 数据采集数据传输数据清洗/建模/存储数据统计/分析/挖掘...

  • BI智能分析系统,武汉数据可视化分析软件开发

    BI智能分析系统,武汉数据可视化分析软件开发 大数据分析系统开发,目前许多省市使用的业务系统,既有国家及省环保部门...

  • 数据分析概论

    什么是数据分析 数据分析是指用适当的系统分析方法对采集来的大量数据进行分析,提取有用和形成结论的过程。 数据分析有...

  • CRM系统中商业智能的应用

    智云通CRM系统中,商业决策分析智能是其数据分析管理子系统的高端应用系统,是基于数据仓库和知识仓库,充分利用数据仓...

网友评论

      本文标题:Hive-数据分析系统

      本文链接:https://www.haomeiwen.com/subject/nyltnftx.html