数据分析—排序

MapReduce算法形式十一:自定义排序(即重写shuffle过程的排序规则) 案例十一:自定义排序(即重写shuffle过程的排序规则) 这个案例有点难理解,但学会了非常方便,shuffle的排序过程是自然排序的(数值小 大,其他字符Unicode),如果不改变shuffle的排序过程只能是写新的集合再写比较 器,过程难免多了很多步骤,这个自定义排序过程重写了shuffle的排序过程,可以按照 各自需求来排序,倒序,正序等等都可以。 阅读详情

排序是数据分析中最常用的操作,没有之一。

单字段升序:

 利用 mapreduce 自身的排序机制,把需要排序的字段作为 key 即可

其它排序:
自定义排序规则

    方案一:自定义 key
        1. 自定义类实现 WritableComparable 接口,设置泛型为自定义类
        2. 声明需要排序的字段,添加 setter && getter
        3. 实现接口的 3 个方法
            write:序列化属性值为二进制
            readFields:从二进制反序列化属性值
            compareTo:自定义大小比较规则
        4. 使用自定义 key 作为 map 输出的 key 类型
                     
    方案二:自定义排序规则
        1. 自定义类继承 WritableComparator
        2. 重写父类无参构造方法,指定 key 的类型
            super(Text.class, true);
        3. 重写父类 compare(WritableComparable a, WritableComparable b) 方法,实现自定义比较规则
        4. 设置 job 使用自定义排序规则
             job.setSortComparatorClass()

二次排序(多字段排序):
先按照 ip 排序,ip 相同按照 count 排序

1. 把所有需要排序的字段放入 key 中
2. 自定义排序规则
3. 在 compare 中设置比较的顺序
    
action 升序,count 降序    

自定义聚合规则:
默认是 key 相同的 value 自动聚合

1. 自定义类继承 WritableComparator
2. 重写父类无参构造方法,指定 key 的类型
    super(Text.class, true);
3. 重写父类 compare(WritableComparable a, WritableComparable b) 方法,实现自定义聚合规则
    返回 0 聚合,否则不聚合
4. 设置 job 使用自定义聚合规则
    job.setGroupingComparatorClass()    

Java 中的排序:

 Java 中的所有排序都依赖 Comparable 进行大小比较的,并且都是升序排列
        不能控制排序的方式,但是可以控制大小比较的结果
        通过控制大小比较结果来影响排序结果

        实现 Comparable 接口需要实现 compareTo 方法
            返回值只看类型,不看数值
                负数   this < o
                0      this = o
                正数   this > o
    
    自定义排序,就是自定比较大小的规则,实现 compareTo 方法
        正常的大小比较 == 升序
        取反 == 降序
python数据分析--数据筛选,统计,排序 pandas数据处理,主要知识点: - Pandas筛选包含特定字符串的行/等于特定字符串的行/以特定字符串结尾的行 - Pandas删除重复行/删除空值行,统计剩余行数 - Pandas多条件筛选 - Pandas正则表达式提取中文/数字 - Pandas分组统计 阅读详情

相关推荐

Python数据分析数据排序

用python对表格数据进行排序

阿黎逸阳的博客 7701

mapreduce的自定义排序

默认排序: map ------shuffle(排序–>分组)-----reduce 在shuffle过程中,先按照map输出的key进行排序。 如果key是数值类型,按大小排序 如果key是字符串类型,按照字典顺序升序排 在按照map输出的key进行分组 运用shuffle过程中的排序: 想要运用shffle过程中的排序,则排序字段为map输出的key。 自定义排序----二次排...

qq_27347421的博客 1465

[视图功能3] 排序与分组在业务数据分析中的应用

本文系统介绍了数据展示中的排序与分组功能。排序功能支持按字段升序/降序显示数据,用户可自定义默认排序规则;分组功能可将数据按单选、多选等字段分类展示,在不同视图类型中有差异表现。文章详细讲解了配置流程,包括选择视图类型、设置分组字段和默认排序等步骤,并列举了任务看板、销售跟进等典型应用场景。最后提出了优化建议:选择合适分组字段、处理空值分组、控制分组数量、自定义排序等,以提升数据展示效率和用户体验。合理运用排序与分组功能能有效提升数据可视化效果和业务分析效率。

每日出拳老爷子的博客 383

MapReduce实战小案例(自定义排序、二次排序、分组、分区)

MapReduce实战小案例

fengxiandada的博客 7471

mapreduce自定义排序

我们进入mapreduce中的对象中可以看到类中有一个compareTo的方法,用于比较为key值的前后两个对象 自定义排序即自己定义新的对象,重写compareTo方法 例如:`private static class MyNewKey implements WritableComparable { long firstNum; long secondNu

galaxy__fish的博客 1607

mapreduce

Hadoop-Mapreduce 1. MapReduce 介绍 MapReduce思想在生活中处处可见。或多或少都曾接触过这种思想。MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。 Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。 Reduce负责“合”,即...

KZZ‘s PDG的博客 418

利用python进行数据分析》之 排序

利用python进行数据分析》之 排序 # -*- coding: utf-8 -*- """ Created on Tue Nov 13 20:26:57 2018 @author: muli """ from pandas import Series,DataFrame import pandas as pd import numpy as np #排序和排名 #根据条件对数据集...

muli 861

排序数据分析中有多重要?

说不会对数据排序的举手,所有的手都放下了。拿到数据,谁还不会排序吗?就连你在打牌都在排序。 可是这一小小的操,在数据分析中到底有多重要,有人知道吗?我们先来看一下排序的动态原理图,是不是很直观! 排序,了解一组数据的最快速方法之一 ...

469

python数字排序分组_python数据分析003_数据的合并筛选排序

join:连接的方式 inner,或者outer,默认是outer。2.concat:pd.concat([df1,df2],axis=0,join='outer',ignore_index=True)如果两个表的index都没有实际含义,使用ignore_index参数,置true,重新整理一个新的index。3.merge:merge(left, right, how='inner', o...

weixin_39941732的博客 232

数据分析-Pandas分类数据的类别排序和顺序

数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 实验数据分析处理,股票序列,间序列,信号序列,有候表格的数据并不完全是数值类型,也有可能是字符串,或者其他数据,需要做分类处理。pandas如何控制数据分类处理呢?需要配置哪些参数?

Alex_StarSky的博客 1752

【大数据分析常用算法】1.二次排序

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34410662的博客 673

【Python数据分析300个实用技巧】32.数据处理与转换之数据排序必学:用sort_values多条件排序

排序看似简单,却是数据处理的基本功。就像学武功要先扎马步,掌握sort_values的多条件排序,能让你在数据处理的江湖里少摔很多跟头。那些曾经让你抓狂的"数据明明排了序怎么还是乱的"问题,现在是不是都有解法了?编程之路就像打游戏通关,每个小技巧的掌握都是你的经验值加成。当你下次再遇到复杂的排序需求,记得笑着对自己说:“就这?看我sort_values一套连招带走!保持热爱,持续精进,你终将成为自己心中的"代码大仙"。咱们下个技巧见!

1181

pandas数据排序与排名:实现复杂的数据分析需求

你是否还在为Excel中繁琐的排序而烦恼?是否在处理多条件排序感到力不从心?是否想快速计算销售业绩的排名却不知从何下手?本文将带你一文掌握pandas中的数据排序与排名技巧,轻松应对复杂的数据分析需求。读完本文后,你将能够:使用单条件和多条件对DataFrame进行排序、处理缺失值在排序中的位置、对数据进行多种方式的排名、以及在分组数据中应用排序和排名功能。 ## 排序基础:sort_va...

gitblog_00278的博客 804

python数据分析_Python数据分析数据排序

在对海量数据进行分析的过程中,可能需要对数据进行排序。本节教大家如何在python中对数据框进行一些排序。本文目录总结sort_values函数的用法按年龄对行进行升序排列按年龄对行进行降序排列按年龄升序身高降序排列数据框对列进行排序注意:本文沿用数据分析第一课【Python数据分析数据建立】里的数据框date_frame:1 总结sort_values函数的用法pyth...

weixin_39711867的博客 842

pandas数据分析(三)数据过滤和排序

​上篇,我们使用pandas针对飞桨提供的练习题和数据集进行了简单的数据分析。中间也遇到了一些问题,并且提供了解决的方法。本篇,我们仍然使用跟着飞桨的练习题这十套练习,教你如何使用Pandas做数据分析 - 飞桨AI Studio进行操和总结。本篇主要通过一个2012欧洲杯的例子,实现对数据的过滤和排序。绝非完全follow,会有一些拓展或优化。

zhaojun的博客 3263

【京东】(数据分析工程师-笔试)姓名排序【Python】

【京东】(数据分析工程师-笔试)姓名排序【Python】题目描述输入输出样例输入样例输出使用字典统计姓氏并排序 题目描述 马上就开学了,教务处的老师拿到了新生的名单,现在他需要根据考生的姓名录入一个拼音版的新名单。 老师录入,需要输入姓和名(例如:ZHANG SAN,字母均为大写,姓名以空格隔开),并且要将这些人按一定规则排序排序方式如下: 首先,按照该形式出现的次数排序,即:姓出现次数多的...

qq_25041667的博客 593

python不用sort排序_Python数据分析数据排序

在对海量数据进行分析的过程中,可能需要对数据进行排序。本节教大家如何在python中对数据框进行一些排序。本文目录总结sort_values函数的用法按年龄对行进行升序排列按年龄对行进行降序排列按年龄升序身高降序排列数据框对列进行排序注意:本文沿用数据分析第一课【Python数据分析数据建立】里的数据框date_frame:1 总结sort_values函数的用法pyth...

weixin_36071371的博客 1316

Tableau数据分析排序和过滤器技巧及其在Python中的实现

Tableau数据分析排序和过滤器技巧及其在Python中的实现排序和过滤器是在数据分析中常用的技巧,能够帮助我们对数据进行有效的整理和展现。在本文中,我们将介绍如何使用Tableau进行数据可视化分析中的排序和过滤器操,并给出相应的Python代码示例。一、排序在Tableau中,我们可以使用单字段排序来按照某个字段的值对数据进行排序。以下是在Python中使用Tableau库进行单字段排序的示例代码: 上述代码首先连接到Tableau服务器,然后获取要排序的工簿和工表对象。接下来,我们创建了一个

TechGlide的博客 355
上一篇: WordCount代码模板
下一篇: 使用HQL分析数据的脚本
白墨Blake
博客等级 码龄14年 23粉丝 80原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值