zoukankan      html  css  js  c++  java
  • 大数据技术之Hive

          最近入职一家公司,本以为是java开发,没想到是大数据处理,于是开始了大数据的学习:大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代 [1]  中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。

          Hive:由Facebook开源用于解决海量结构化日志的数据统计。

          Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供SQL查询功能。 本质是:将HQL转化成MapReduce程序

         1Hive处理的数据存储在HDFS

         2Hive分析数据底层的实现是MapReduce

         3)执行程序运行在Yarn

     

     优点

     

         1) 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)

     

         2) 避免了去写MapReduce,减少开发人员的学习成本

     

         3) Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合

     

         4) Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高

     

         5)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数

     缺点

        1.HiveHQL表达能力有限

        (1)迭代式算法无法表达

        (2)数据挖掘方面不擅长由于MapReduce数据处理流程的限制,效率更高的算法却无法实现。

        2.Hive的效率比较低

        (1Hive自动生成的MapReduce作业,通常情况下不够智能化

        (2Hive调优比较困难,粒度较粗

     

       Hive基本操作

     

        (1)启动hive

     

                  [root@hadoop102 hive]$ bin/hive

     

       (2)查看数据库

     

                 hive> show databases;

     

       (3)打开默认数据库

     

                hive> use default;

     

       (4)显示default数据库中的表

     

               hive> show tables;

     

       (5)创建一张表

     

               hive> create table student(id int, name string);

     

       (6)显示数据库中有几张表

     

              hive> show tables;

     

       (7)查看表的结构

     

             hive> desc student;

     

       (8)向表中插入数据

     

           hive> insert into student values(1000,"ss");

     

       (9)查询表中数据

     

            hive> select * from student;

     

       (10)退出hive

     

             hive> quit;

           (11)删除已创建的student

            hive> drop table student;

       (12)创建student, 并声明文件分隔符’ ’

            hive> create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';

          13)加载/opt/module/datas/student.txt 文件到student数据库表中。

           hive> load data local inpath '/opt/module/datas/student.txt' into table student;

     

     

     

  • 相关阅读:
    【Qt开发】Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包
    【CUDA】CUDA框架介绍
    【CUDA】CUDA框架介绍
    【CUDA开发】CUDA从入门到精通
    【CUDA开发】CUDA从入门到精通
    【CUDA开发】CUDA的安装、Nvidia显卡型号及测试
    【CUDA开发】CUDA的安装、Nvidia显卡型号及测试
    【Qt开发】Qt控件之进度条
    【Qt开发】Qt控件之进度条
    【Qt开发】布局控件之间的间距设置
  • 原文地址:https://www.cnblogs.com/dibinbin/p/13153603.html
Copyright © 2011-2022 走看看