首页 > 其他分享 >6.5

6.5

时间:2024-06-05 23:44:32浏览次数:13  
标签:map RDD distinct rdd 6.5 num TODO

rdd map filter flatmap groupby distinct sortby

  // TODO map方法的作用就是将传入的A转换为B返回,但是没有限制A和B的关系。
        final JavaRDD<Integer> newRDD1 = rdd.map(
                num -> {
                    System.out.println("@" + num);
                    return num;
                }
        );

 // TODO RDD的转换方法:filter(过滤)
        //      RDD可以根据指定的过滤规则对数据源中的数据进行筛选过滤
        //      如果满足规则(返回结果true),那么数据保留,如果不满足规则(返回结果false),那么数据就会丢弃


// TODO RDD的转换方法:flatmap (扁平映射)
        //      flat(数据扁平化) + map(映射)
        final JavaRDD<Integer> flatMapRDD = rdd.flatMap(new FlatMapFunction<List<Integer>, Integer>() {
            @Override
            public Iterator<Integer> call(List<Integer> list) throws Exception {
                List<Integer> nums = new ArrayList<>();
                list.forEach(
                        num -> nums.add(num * 2)
                );
                return nums.iterator();
            }


 // TODO RDD的方法:groupBy,按照指定的规则对数据进行分组
        rdd.groupBy(new Function<Integer, Object>() {
            @Override
            public Object call(Integer num) throws Exception {
                // 返回的值其实就是数据对应的组的名称,相同组的名称的数据会放置在一个组中
                // 当前的逻辑就是给数据增加标记
                // 1 -> B
                // 2 -> B
                // 3 -> B
                // 4 -> B
                return "b"; // 组的名称, 此处需要实现分组逻辑
            }
        })
        // 逻辑执行完毕后,打印的结果只有一行 (a, [1,2,3,4]),
                // 一行数据就表示一个组,组的名称就是a,组内的数据就是1,2,3,4
        .collect().forEach(System.out::println);


 // TODO distinct : 去重
        //      hashSet去重,是单点去重
        //      distinct ,是分布式去重, 采用了分组+shuffle的处理方式
        rdd.distinct().collect().forEach(System.out::println);

标签:map,RDD,distinct,rdd,6.5,num,TODO
From: https://www.cnblogs.com/258-333/p/18234172

相关文章

  • 6.5总结
    今天上午做python大作业和工程数学实验今天收获:使用python调用百度地图api从地图上爬取数据,获得石家庄铁道大学内部部分建筑物地点的信息,并存入数据库代码:1importrequests2importjson34#Step1:申请百度地图API密钥5api_key='your_api_key'#请将your_......
  • 6.5每日总结
    可视化第一版本<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1"><metaname="renderer"co......
  • 6.5
    实验三:Newton法程序设计一、实验目的掌握Hesse矩阵的计算方法和Newton法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。  二、实验内容(1)求解无约束优化问题:f(x)=(x1+10x2)^2+5(x3-x4)^2+(x2-2x3)^4+10(x1-x4)^......
  • 6.5
    这次放假,第一要义就是“莫谈国事”。以下大概记叙一下火车上的见闻与感想。(这里应该有张图片,大家可以yy一下)“景翳翳以将入?未入,隐于云后,正泛着粼粼波光。”原始的不再原始,现代的更加现代。原始的镰刀逐渐被割草机取代,有些地方的麦田也增添了太阳能电池板。不过鸟儿依旧会在......
  • 6.5数组--模拟、偏移量-螺旋矩阵
    M:59.螺旋矩阵II题意描述给你一个正整数n,生成一个包含1到n^2所有元素,且元素按顺时针顺序螺旋排列的nxn正方形矩阵matrix。示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例2:输入:n=1输出:[[1]]提示:1<=n<=20思路这道题目可以说在面试中出现......
  • 6.5
    活了又死了这学期Really和班主任在看小说的上面斗争了一学期(md,被制裁了)起因是有一天借了一本《齐马蓝》(大小参考算法竞赛)周六晚三我拿出了小说开始读xxw(你们知道我说的是谁,司马截),在监控里把我抓了一个正着,下来就把我抓了然后我用最后十分钟写了一个检讨拍尽了她的马屁最......
  • Studio One6.5最新版本软件功能介绍及用户使用步骤教程S及安装激活使用方法
     StudioOne做为新生代音乐工作站,凭借更低的价格和完备的功能,获得了音乐人和直播行业工作者的青睐,尤其是对硬件声卡的适配支持更好,特别适合用来配合线上教学和电商带货。最近网上出现不少关于StudioOne不能用或者StudioOne掉激活的问题讨论,其原因是使用了非正版软件,下面让我......
  • MIT 6.5830 simpleDB Lab2
    Exercise1需要完成的是:src/java/simpledb/execution/Predicate.javasrc/java/simpledb/execution/JoinPredicate.javasrc/java/simpledb/execution/Filter.javasrc/java/simpledb/execution/Join.java这里主要实现两个功能:Filter:通过Predicate过滤一部分满足条件的Tupl......
  • centos6.5重启docker容器死机问题
      概述近期在整理服务问题,使用docker容器重新部署服务。过程中有不少坑,主要是系统配置和系统版本的问题。环境CentOSrelease6.5(Final)dockerversion1.7.1问题现象使用restart命令重启docker容器,系统突然卡死,并不断重启,重启3次后恢复。检查系统日志“/var/log/......
  • Qt 6.5.5 链接和QML与C++交互的若干问题
    需求描述QtQuick开发桌面组件,使用讯飞API(提供头文件、静态库、动态库),希望部署到Windows平台,在QtCreator开发。QML与C++交互主要参考:QML与CPP,https://blog.csdn.net/gongjianbo1992/article/details/87965925另有参考:信号与槽,https://blog.csdn.net/ifeng12358/article/detai......