1.关于分区

1.HDFS用于设计存储数百万的大文件,而非数十亿的小文件,如果分区过多,会创建大量的小文件,最终会超出NameNode的处理能力。因为NameNode必须要将所有的系统文件的元数据信息保存到内存中。每个文件的元数据大小为150字节,但是会限制HDFS实例所能管理文件总数的上限。
2.默认情况下,每个task都是一个新的JVM的实例,都需要开启和销毁的开销。对于小文件,每个文件都会对应一个task,在一些情况下,JVM开启和销毁时间中销毁时间可能比实际处理数据的时间还要长。
3.因此,一个理想的分区方案不应该是导致产生太多的分区和文件夹目录,并且每个目录的文件应该足够大,是文件系统中块大小的若干倍。

2.同一份数据多种处理

1.hive本身提供了一个独特的语法,它可以从一个数据源产生多个数据聚合,而无需每次聚合都扫描一次
FROM history
INSERT OVERWRITE sales SELECT *  WHERE action = 'purchased'
INSERT OVERWRITE credits SELECT *  WHERE action = 'returned'

3.分桶表数据存储

-- 略

4.为表增加列

-- 1.Hive提供了SerDe抽象,其用于输入中提取数据,也同样用于输出数据。一个SerDe通常是从左到右进行解析的。通过指定的分隔符分解成列。
-- 2.hive表可以坐在底层数据增加一个字段,但是只能在末尾增加,无法在已有字段的开始或者中间增加字段

5.使用列式存储表

-- 1.没有足够行,一些列中会有很多重复数据,建议列式存储。
-- 2.多列,具有很多列字段,但是查询只会使用一个字段或者很少的一组字段。基于列式存储将会使分析表数据执行的更快。

转载于:https://www.cnblogs.com/lijingang/p/11391118.html

HiveQL:模式设计相关推荐

  1. 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书

    缘起 哈喽大家周四好!又是开心的一天,时间过的真快,我们的 <从壹开始 .net core 2.1 + vue 2.5 >前后端分离系列共 34 篇已经完结了,当然以后肯定还会有更新和修改 ...

  2. 模式设计概述:代理者模式

    分布式系统模式 分布式相关的模式设计有大概三种模式,分布式系统与集中式系统相比需要完全不同的软件.管道和过滤器模式,微核和代理者模式. 代理者模式 代理者模式体系结构的强制条件是 组件应该能够访问其他 ...

  3. 分享基于EF6、Unitwork、Autofac的Repository模式设计

    目录 分享基于EF6.Unitwork.Autofac的Repository模式设计 一.实现的思路和结构图 二.Repository设计具体的实现代码 三.Repository设计的具体的使用 四. ...

  4. 分享基于Entity Framework的Repository模式设计(附源码)

    关于Repository模式,在这篇文章中有介绍,Entity Framework返回IEnumerable还是IQueryable? 这篇文章介绍的是使用Entity Framework实现的Rep ...

  5. mongodb数据合并设计_「时间序列数据」和MongoDB(二)-模式设计最佳实践

    在上一篇博客文章时间序列数据与MongoDB:第一部分-简介中,我们介绍了时间序列数据的概念,然后介绍了一些可以用于帮助收集时间序列应用程序需求的发现问题.对这些问题的回答有助于指导支持大容量生产应用 ...

  6. mysql contains函数_多属性、多分类MySQL模式设计

    一.导读 这是来自B乎的一个问答. 当数据同时具备多个属性/分类时,改如何设计表结构和查询? 二.需求描述 我偶尔也会逛逛B乎,看到一些感兴趣的话题也会回复下. 有一次,看到这样的一个话题: 链接:h ...

  7. android builder模式,模式设计(三:Builder模式) (转)

    模式设计(三:Builder模式) (转)[@more@] builder 本文中我将采用生产汽车的例子来讲解builder 模式. 考虑如下问题:我要建造一部车,我们希望将这个复杂的的构建与其表示分 ...

  8. 反模式设计_设计模式:模式或反模式,这就是问题

    反模式设计 我最近遇到了Wiki页面" Anti-pattern" ,其中包含详尽的反模式列表. 其中一些对我来说很明显. 他们中的一些让我想了一下,其他的让我想了更多. 然后,我 ...

  9. Spring4.x(3)---工厂模式设计IOC容器

    工厂模式设计IOC容器 IOC容器的底层实现其实就是利用工厂设计模式.接下来我们通过工厂设计模式模拟一个小型的IOC容器,让大家对IOC的底层原理更加清晰些. 一.搭建案例程序 1)CustomerD ...

最新文章

  1. pandas 读csv文件 TypeError: Empty 'DataFrame': no numeric data to plot
  2. OFDM专题之子载波间干扰问题(一)
  3. 用Python玩转微信的正确姿势!
  4. 【精华总结】全文4000字、20个案例详解Pandas当中的数据统计分析与排序
  5. RTMP协议学习笔记
  6. Linux下的iftop命令介绍
  7. 怎么修改打印机服务器权限,Win7如何设置网络打印机管理权限
  8. 在VC中用CMenuXP使应用程序拥有Office XP风格的界面
  9. The 2019 ACM-ICPC China Shannxi Provincial Programming Contest B. Product(杜教筛+约数)
  10. Nginx之正则表达式、location匹配简介以及rewrite重写
  11. 8086汇编(3、指令集)
  12. 2022-09-17青少年软件编程(C语言)等级考试试卷(四级)解析
  13. 【罗塞塔石碑】—My Lover(One.iso)
  14. xp系统sc服务器,SC怎么封装xp系统
  15. android录音波浪动画_Android使用音频信息绘制动态波纹
  16. Zeus资源调度系统介绍
  17. 专业壮大成翘楚,凤凰涅磐焕新春
  18. 计算机组成原理微控器功能,(计算机组成原理)实验三微控器实验.ppt
  19. QT叠加HDMI采集视频OSD
  20. 环境工程大学生简历模板

热门文章

  1. 大话 JavaScript 动画
  2. Linux 更新vim
  3. SpringMVC系列(九)自定义视图、重定向、转发
  4. 利用StringUtils可以避免空指针问题
  5. 山寨一个ini文件的解析器
  6. infinite-scroll学习(二)
  7. 51CTO‘s Bug?
  8. 《花开在眼前》听得泪流满面
  9. java中使用配置文件_Java中使用Properties配置文件的简单方法
  10. 搜狗服务器页面找不到了怎么办,处理搜狗浏览器提示“无法解析服务器的DNS地址”的方法...