Hive自定义分区器流程

1.自定义类

实现org.apache.hadoop.mapred.Partitioner(必须为这个,Hive中使用的是老的API)接口

package com.ailibaba;import org.apache.hadoop.hive.ql.io.HiveKey;import org.apache.hadoop.io.BytesWritable;import org.apache.hadoop.mapred.JobConf;import org.apache.hadoop.mapred.Partitioner;
public class MyPartitioner implements Partitioner<HiveKey, BytesWritable> {@Overridepublic int getPartition(HiveKey s, BytesWritable s2, int numPartitions) {return 0;}@Overridepublic void configure(JobConf job) {}}

2.打包到集群/opt/module/hive/lib/目录下

3.在Hive中进行测试

3.1 添加jar包

add jar /opt/module/hive/lib/partition.jar;

3.2 设置Hive中使用自定义的分区器

set hive.mapred.partitioner = com.ailibaba.MyPartitioner;

3.3 修改Reducer数量

set mapreduce.job.reduces=3;

3.4 执行SQL进行测试

insert overwrite local directory ‘/opt/module/data/distribute-result’ select * from emp distribute by deptno sort by empno desc;

3.5 查看最终结果

-rw-r–r--. 1 ailibaba ailibaba 707 11月 1 13:13 000000_0

-rw-r–r--. 1 ailibaba ailibaba 0 11月 1 13:13 000001_0

-rw-r–r--. 1 ailibaba ailibaba 0 11月 1 13:13 000002_0

发现只有0号分区有数据。

hive自定义分区器相关推荐

  1. Hive自定义分区器流程

    Hive自定义分区器流程 1. 环境说明 当前环境采用Hadoop3.1.3以及Hive3.1.2版本! 2. 自定义类 自定义类实现org.apache.hadoop.mapred.Partitio ...

  2. IDEA本地运行Spark项目[演示自定义分区器]并查看HDFS结果文件

    文章目录 一.提出问题 二.解决问题 (一)添加IP到主机名的映射 (二)在本地准备Spark库文件 (三)在IDEA里创建Scala项目 (四)添加Spark库文件到项目 (五)创建自定义分区器 ( ...

  3. Spark自定义分区器

    spark目前支持两个分区器,分别是HashPartitioner和RangePartitioner. 均继承自Partitioner,有共同方法 - def numPartitions --分区器的 ...

  4. 【大数据开发】SparkCore——自定义排序、实现序列化、自定义分区器

    文章目录 一.自定义排序四种方式.实现序列化 二.案例:自定义分区器 一.自定义排序四种方式.实现序列化 前面两种是样例类实现.普通类实现 第三种方式可以不实现序列化接口 用的最多的还是第四种方式,第 ...

  5. kafka自定义生产者分区器、自定义消费者分区器

    目录 1 默认分区 1.1 键key的作用 1.2 键的分区 2 生产者自定义分区 2.1 使用场景分析 2.2 自定义分区器要实现Partitioner接口 2.3 生产者使用分区器 3 消费者自定 ...

  6. flink keyby、shuffle、 rebalance、rescale、 broadcast、global、自定义分区算子以及各分区器源码

    文章目录 前言 1. 随机分区 2. 轮询分区 3. 重缩放分区 4. 广播 5. 全局分区 6. 自定义分区 前言   flink中keyBy是一种按照键的哈希值来进行重新分区的操作,至于分区是否均 ...

  7. Spark的RDD分区器

    RDD 分区器 基本介绍 Spark 目前支持Hash 分区.Range 分区和用户自定义分区.Hash 分区为当前的默认分区.分区器直接决定了RDD 中分区的个数.RDD 中每条数据经过Shuffl ...

  8. kafka模拟生产-消费者以及自定义分区

    2019独角兽企业重金招聘Python工程师标准>>> 基本概念 kafka中的重要角色   broker:一台kafka服务器就是一个broker,一个集群可有多个broker,一 ...

  9. Kafka分区分配计算(分区器Partitions)

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

最新文章

  1. 局域网中架设Win 2003终端服务器
  2. Vue项目中一些常见的文件名及作用
  3. java data jpa_Spring Data JPA(一)简介
  4. 请MVC5 WebApi2 支持OData协议查询
  5. Linux shell 编程(四):变量
  6. tensorflow中协调器 tf.train.Coordinator 和入队线程启动器 tf.train.start_queue_runners
  7. Spring解析@ComponentScan注解的执行流程
  8. 一套价值800元的爱代挂源码完整版
  9. win10找不到wifi网络_win10找不到realtek高清晰音频管理器的解决放法
  10. excel中看着是空单元格,使用Ctrl+G定位空值却定位不到
  11. 数据库上机实验一、二
  12. 多测师肖sir_高级金牌讲师_项目数据
  13. ssm+java计算机毕业设计公交路线查询系统l1auz(程序+lw+源码+远程部署)
  14. c++pthread多线程消费者问题
  15. node.js map 的用法
  16. 开发微信小程序都需要哪些资质?
  17. ENC28J60电路故障 网络灯不亮
  18. 计算机专业C语言复试常见问题(二)
  19. VoLTE下视频彩铃与普通彩铃冲突的现象
  20. 视频分辨率、码流、帧率、带宽、存储空间

热门文章

  1. 周云的FLASH小游戏开发教室
  2. 软件测试-Stream IPHONE手机抓包
  3. Web服务器简介----Tomcat从认识到下载安装到配置使用
  4. C++新手入门学习教程
  5. 升级到Win10后悔了?来,教你如何恢复系统
  6. 进程4G虚拟内存空间的分配
  7. dedecms顶级栏目列表、子栏目列表调用DEDECMS调用父栏目名称
  8. SLAM及深度学习环境配置总教程
  9. 深度强化学习(DRL)一:入门篇
  10. 22春天津大学《建筑施工》在线作业一