首页 > 其他分享 >6.4

6.4

时间:2024-06-04 23:57:14浏览次数:20  
标签:12 14 分区 偏移量 length 6.4 numSlices

RDD分区
内存分区

 /*
          【1】
          【2,3】
          【4】
          【5,6】
          -------------------------------
          len=6, partnum=4

          (0 until 4) => [0, 1, 2, 3]

          0 => ((i * length) / numSlices, (((i + 1) * length) / numSlices))
            => ((0 * 6) / 4, (((0 + 1) * 6) / 4))
            => (0, 1) => 1
          1 => ((i * length) / numSlices, (((i + 1) * length) / numSlices))
            => ((1 * 6) / 4, (((2) * 6) / 4))
            => (1, 3) => 2
          2 => ((i * length) / numSlices, (((i + 1) * length) / numSlices))
            => ((2 * 6) / 4, (((3) * 6) / 4))
            => (3, 4) => 1
          3 => ((i * length) / numSlices, (((i + 1) * length) / numSlices))
            => ((3 * 6) / 4, (((4) * 6) / 4))
            => (4, 6) => 2
         */

        // TODO Spark分区数据的存储基本原则:平均分

硬盘分区

// TODO Spark进行分区处理时,需要对每个分区的数据尽快能地平均分配
        //    totalsize = 7
        //    goalsize = totalsize / minpartnum = 7 / 2 = 3
        //    partnum = totalsize / goalsize = 7 / 3 = 2...1 => 2 + 1 = 3

        // TODO Spark不支持文件操作的。文件操作都是由Hadoop完成的
        //    Hadoop进行文件切片数量的计算核文件数据存储计算规则不一样。
        //    1. 分区数量计算的时候,考虑的是近可能的平均 : 按字节来计算
        //    2. 分区数据的存储是考虑业务数据的完整性 : 按照行来读取
        //       读取数据时,还需要考虑数据偏移量,偏移量从0开始的。
        //       读取数据时,相同的偏移量不能重复读取。
        /*
        【3】 => [0, 3]
        【3】 => [3, 6]
        【1】 => [6, 1]
        ----------------------------------------
        1@@ => 012
        2@@ => 345
        3   => 6
        ----------------------------------------
        [0, 3] => 【1,2】
        [3, 6] => 【3】
        [6, 7] =>

        ---------------------------------------------------------------------------
        1. 分区数量
           goalsize = 14 / 4 => 3
           partnum  = 14 / 3 = 4...2 => 4 + 1 = 5

        2. 分区数据
         [0, 3]   => 【11】
         [3, 6]   => 【22】
         [6, 9]   => 【33】
         [9, 12]  => 【44】
         [12, 14] => 【】
         -----------------------------------------
         11@@ => 0123
         22@@ => 4567
         33@@ => 891011
         44   => 1213
         -----------------------------------------
         12345678901234 => 012345678910111213
         [0, 3]   => 【12345678901234】
         [3, 6]   => 【】
         [6, 9]   => 【】
         [9, 12]  => 【】
         [12, 14] => 【】


         */

标签:12,14,分区,偏移量,length,6.4,numSlices
From: https://www.cnblogs.com/258-333/p/18232015

相关文章

  • 6.4数组--移除元素
    26.删除有序数组中的重复项题意描述:给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确......
  • 3285:练46.4 第N个智慧数
    题目描述】一个正整数如果能表示成两个正整数的平方差,则称这个数为一个“智慧数”,比如1616就等于55的平方减去33的平方,所以1616就是一个智慧数,从11开始的自然数列中,将“智慧数"从小到大编号为11,22,33,...,n......
  • 【Python】数据分析 Section 6.4: Heatmaps | from Coursera “Applied Data Science
    Heatmapsareawaytovisualizethree-dimensionsofdataandtotakeadvantageofspatialproximityofthosedimensions.InmakingrevisionstothiscourseIwasreallytemptedtogetridofthesectiononheatmaps,asI'veseenenoughbadheatmapst......
  • python教程6.4-excel处理模块
    第三方开源模块安装 创建文件打开已有文件写数据选择表保存表遍历表按行遍历按列遍历遍历指定行列遍历指定第几列数据删除表设置单元格样式字体对齐设置行高列宽 ......
  • 以React16.4为界限,比较生命周期的异同
    一、整体流程简介:新版:旧版:二、比较通过两个图的对比,可以发现:1.生命周期都包含创建、更新、销毁;2.新版本减少了以下三种方法:componentWillMountcomponentWillReceivePropscomponentWillUpdate其实这三个方法仍然存在,只是在前者加上了UNSAFE_前缀,如UNSAFE_componentW......
  • 维和防暴队迅雷BT下载[DH/1.24GB/6.45GB]高清国语[1080P]完整资源下载
    维和防暴队是一部由德国导演赫尔托·赫尔巴赫执导的电影,该片于2001年上映。该片是根据真实事件改编而成,讲述了联合国维和行动中的一支由德国警察组成的特殊部队,在非洲某个冲突地区执行任务的故事。 电影以德国警察克罗格为视角,通过他的眼睛让观众感知到维和行动中......
  • [转载]好一件“建安”轶事[2016.4.28 sina blog]
    原文地址:好一件“建安”轶事作者:刘宏斌    本来是饶有兴致地陪葛浪静老师赶场京戏,以庆祝他的68岁生日,却不曾想被疯狂的BUS拉坏了爱车的后视镜而懊恼起来。    直到乐池顿起了久违的鸣响,心才回归。    不错,真的很不错,八零后万晓慧担纲,江峰等一拨一级“大腕”捧哏,虽是......
  • SystemVerilog -- 6.4 Interface ~ Clocking Block Part II
    SystemVerilogClockingBlockPartII时钟模块允许在指定的时钟事件对输入进行采样并驱动输出。如果提到时钟模块的输入skew,则该模块中的所有输入信号都将在时钟事件之前以skew时间单位进行采样。如果提到时钟模块的输出skew,则该模块中的输出信号都将在相应的时钟事件之后以ske......
  • SystemVerilog -- 6.4 Interface ~ Clocking Blocks
    SystemVerilogClockingBlocks默认情况下,模块端口和接口不指定信号之间的任何时序要求或同步方案。在clocking和endclocking之间定义的时钟块正是这样做的。它是与特定时钟同步的信号集合,有助于指定时钟和信号之间的定时要求。这将允许测试编写者更多地关注事务,而不是担心信号......
  • Metasploit Framework 6.4 (macOS, Linux, Windows) - 开源渗透测试框架
    MetasploitFramework6.4(macOS,Linux,Windows)-开源渗透测试框架Rapid7Penetrationtesting请访问原文链接:https://sysin.org/blog/metasploit-framework-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世界上最广泛使用的渗透测试框架知识就是力量,尤......