about云开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2685|回复: 0

[小知识点] hive数据单位包含哪些内容

[复制链接]
发表于 2018-3-24 20:13:22 | 显示全部楼层 |阅读模式
本帖最后由 pig2 于 2018-4-29 10:31 编辑

根据颗粒度的顺序,Hive数据被组织成:
  • 数据库:命名空间功能,为了避免表,视图,分区,列等等的命名冲突。数据库也可以用于加强用户或用户组的安全。
  • 表:相同数据库的同类数据单元。例如表`page_views`,表的每行包含以下列:

    • timestamp -这是一个`INT`类型,是当页面被访问时的UNIX时间戳。
    • userid -这是一个`BIGINT`类型,用于惟一识别访问页面的用户。
    • page_url -这是一个`STRING`类型,用于存储页面地址。
    • referer_url -这是一个`STRING`类型,用于存储用户是从哪个页面跳转到本页面的地址。
    • IP -这是一个`STRING`类型,用于存储页面请求的IP地址。


  • 分区:每个表可以有一个或多个用于决定数据如何存储的分区键。分区(除存储单元之外)也允许用户有效地识别满足指定条件的行;例如,`STRING`类型的`date_partition`和`STRING`的`country_partition`。这些分区键的每个惟一的值定义了表的一个分区。例如,所有的“2009-12-23”日期的“US”数据是表`page_views`的一个分区。(注意区分,分区键与分区,如果分区键有两个,每个分区键有三个不同的值,则共有6个分区)。因此,如果你只在日期为“2009-12-23”的“US”数据上执行分析,你将只会在表的相关数据上执行查询,这将有效地加速分析。然而要注意,那仅仅是因为有个分区叫2009-12-23,并不意味着它包含了所有数据,或者说,这些数据仅仅是那个日期的数据。用户需要保证分区名字与数据内容之间的关系。分区列是虚拟列,它们不是数据本身的一部分,而是源于数据加载。
  • 桶(Buckets or Clusters):每个分区的数据,基于表的一些列的哈希函数值,又被分割成桶。例如,表`page_views`可能通过`userid`分成桶,`userid`是表`page_view`的一个列,不同于分区列。这些桶可以被用于有效地抽样数据。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /3 下一条

QQ|小黑屋|about云开发-学问论坛|社区 ( 京ICP备12023829号

GMT+8, 2019-7-17 20:51 , Processed in 0.409841 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

快速回复 返回顶部 返回列表