IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hive:分桶 -> 正文阅读

[大数据]Hive:分桶

  • 分桶

    • 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储
    • 对于 hive 中每一个表,分区都可以进一步进行分桶
    • 由:列的哈希值? ?/?(除以)桶的个数
      • 决定每条数据划分在哪个桶中
  • 与分区的区别
    • 分区:多级目录、每个目录存储固定特征的文件
  • 场景
    • 数据抽样 (sampling)
  • 开启支持分桶
    • set hive.enforce.bucketing=true
      • 1.X 默认是 false
      • 2.x 之后没有,但是默认是支持的
      • MR 运行时会根据 bucket 的个数自动分配 reduce task 个数
        • 用户也可以通过 mapred.reduce.tasks 自已设置 reduce 任务个数,但分桶时不推荐使用
      • 一次作业产生的桶(文件数量)和 reduce task 个数一致

使用

原本数据表

创建分桶表

创建分桶表,表中字段,以 age 字段做为(列哈希值),并指定4个分桶

向分桶表导入数据

分桶数 与 reduce task 数相同

处理后的数据

?四个分桶文件

文件名显示的:0、1、2、3,其实就是分桶文件的:1、2、3、4

?每个分桶文件所写入的数据

桶表抽样查询

select * from 分桶表 tablesample(bucket 1 out of 4 on columns);

?tablesample 语法

百分比抽样

tablesample(40 percent);? ?即:40%

数据大小抽样

tablesample(20M);? ?即:20M的数据

行数抽样

tablesample(1000 rows);? ?即:1000行数据

分桶抽样

  • tablesample(bucket x out of y)
  • x:表示从哪个? “bucket(分桶)”? 开始抽取数据
  • y:必须为该表总 bucket 数的,倍数或因子
    • 倍数
      • 获取单个分桶中的部分数据:(总 bucket 数 / y)
        • 总 bucket? 4个数? 除以? 8? :二分之一的数据
        • 也就是获取指定分桶表中的二分之一的数据
          • 可能是 bug (多次尝试)
            • 1个分桶表里有六条数据,y为8时正常显示3条数据,当y为12(三分之一)时应该显示2条数据,可仍然显示3条数据(找到原因再补充)
    • 因子
      • 获取指定分桶表个数:(总 bucket 数 / y)
        • 总 bucket? 4个数? 除以? 2? :2个分桶表
        • 也就是一共获取 2个分桶表的数据
      • 当 y 是因子时,两个分桶表是跳表的方式
        • x 是 1,y 是 2? (x+y)
        • 1 和 3 分桶表的所有数据
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 11:45:16  更:2021-07-25 11:47:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/30 23:38:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码