首页 > 其他 > 详细

HIVE

时间:2020-04-14 20:19:19      阅读:74      评论:0      收藏:0      [点我收藏+]

Hadoop:map 与 reduce 阶段麻烦,效率低

通过把复杂的MR编程,简化为HQL的使用,可以最大限度地减少程序员地学习成本。

Hive是一个构建在Hadoopsha能够的数据仓库平台。【易学难精

Hive和传统关系型数据库地功能性差异:HIVE是以数据存储优先,而关系型数据库是以数据查询效率优先。

【Hadoop整个生态圈都是Apache地产品】

【1】Hive的创建数据库的本质:创建对应的文件夹;将数据文件加载到服务器上。

【2】分区、分桶的概念

【3】使用HIVE:一般把HIVE作为增量表,进行数据归档。保存到HIVE数据,通常需要加一个时间戳,用于标明数据的批次。

【4】用HIVE一定要用到队列。


数据操作:

【1】sqoop:数据迁移工具

【2】消息队列:kafka,rabitmq



安装Hive

【1】首先需要有MYSQL之类地关系型数据库

【2】要有Hadoop集群

【3】务必仔细检查配置【后续配置步骤】

[4]授权!创建路径

【5】Hiveservice2这个服务:是提供给JDBC访问地。

---修改完配置一定要重新启动。

Hive地数据类型

【1】int

【2】String

【3】date

【4】double

建库和建表

【1】实际上在HDFS当中,创建了对应的目录

【2】数据需要上传;上传数据文件到对应库和表地目录下

【3】HIVE地查询,本质哈市MR执行

【4】全表扫描和需要进行分组过滤地,都需要。

    --全表扫描,ex:count(*)

    --排序,ex order by sal

    --分组,ex:group by deptno

   特例:limit 0,2 不需要 MR

总结:只需要MAP阶段就可以处理完的,不需要MR

【5】HIVE当中,关联查询:

   --Hive是没有主外键的

   --内联:inner join

   --外联:left join / right join

总结:任何情况下,只要执行了表关联,就一定会有MR操作。

【6】分区、分桶。


【7】HIVE是不可以修改数据的,但是可以插入数据,插入的数据,不是在原来文件的基础上追加,而是用新的文件来进行保存。

【8】使用HIVE:一般把HIVE作为增量表,进行数据归档,保存到HIVE里的数据,通常需要加一个时间戳【用于标明:数据批次】。

【9】用HIVE一定要用到队列。

【10】数据仓库一般都是通过异步来处理的。


原理部分还需要深入




经典:

去除左右空格——

public String trim() {
         int len = value.length;
         int st = 0;
         char[] val = value;    /* avoid getfield opcode */

        while ((st < len) && (val[st] <= ‘ ‘)) {
             st++;
         }
         while ((st < len) && (val[len - 1] <= ‘ ‘)) {
             len--;
         }
         return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
     }



授权 777

HIVE

原文:https://www.cnblogs.com/macro-renzhansheng/p/12699994.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!