• 为什么要用Hive?


    一、两点写在前面

    1、搭建Hadoop平台+Hive,计算使用mapreduce

    2、多大数据可以称大数据?对于谁来说?本文对于MySQL来说,另外不从功能特性等方面比较,就单单比较数据查询时间

    二、测试环境

    测试环境虚拟机1

    Mysql:

    内存:4GB

    处理器:2

    硬盘:500GB

    测试环境虚拟机2

    Hadoop:3.3.2

    Hive:3.1.2

    集群:

    node1:内存4GB 硬盘:20GB

    node2:内存2GB 硬盘:20GB

    node2:内存2GB 硬盘:20GB

    三、测试表数据

    测试表为传感器观测数据表

    数据总量:71864040

    导出CSV:3.19GB

    hive建表语句:

    1. create table ittest.ADCP(
    2.     `time` date comment "时间",
    3.     depth_cell int comment "深度",
    4.     beam int comment "层位",
    5.     corrleation_magnitude int comment "corrleation",
    6.     echo_intensity double comment "intensity",
    7.     good_percent int comment "%",
    8.     velocity double comment "速度"
    9. )
    10. row format delimited fields terminated by ",";

    表结构

    测试语句1:select * from ADCP limit 100;

    MySQL:0.003s            Hive:0.254s

    测试语句2:select * from ADCP where `time` between '2019-07-04' and '2019-07-05';
    MySQL:1.783s             Hive:2min52s
    
    测试语句2:select * from ADCP where `time` between '2019-07-04' and '2019-08-04';

    MySQL:45.155s               Hive:3min12s

    四、综上所述

    MySQL时间上一直优于Hive,MySQL功能上更强大,不需要Hive

    五、错的!错的!错的!

    3.19GB、7000万条数据对于Mysql来说,的确是比较大的数据,影响了查询运算的时间

    但是对于hive来说,数据不大,没有优势

    新数据表:30GB    10.15亿条数据

    再执行查询

    测试语句1:select * from ADCP where `time` between '2019-07-04' and '2019-07-05';
    MySQL:18min20s             Hive:4min31s

    Hive的查询优势开始显现,但是本文用的是mapreduce进行计算,是比较慢的选择,如果用spark,Hive会更快得到查询结果。另外,整个过程都在个人笔记本上集群,资源、性能都差些。

    Hive主要用于不太注意时效性的数仓,关注的点:大数据、分布式查询计算

  • 相关阅读:
    【FPGA教程案例89】编译码2——使用vivado核实现RS信道编译码
    CMS getshell
    1068 Find More Coins
    [PR] LRTA* 搜索算法
    软件测试中的43个功能测试点总结
    Vue页面使用Vue3语法
    jvm深入研究文档-探索虚拟机栈底层代码到底是如何实现的?--jvm底层探索(3)
    计算机视觉(Computer Vision, CV)是什么?
    Stable DIffusion系统教程 | 局部重绘,增删修改的魔法棒
    OpenShift 4 - 在 Windows 上安装 OpenShift 单机开发环境
  • 原文地址:https://blog.csdn.net/u010763324/article/details/126224754