程光CS 2021-07-30 20:56 采纳率: 50%
浏览 15

请问Spark中从文件中创建RDD时分区的数据划分具体机制是什么?

这是我创建RDD的程序代码

package com.syc.bigdata.spark.core.rdd.builder

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark02_RDD_File_Par1 {

  def main(args: Array[String]): Unit = {

    //TODO 准备环境
    //*号表示本地环境中最大可用核数,采用多线程模拟集群环境
    var sparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
    val sc = new SparkContext(sparkConf)
    //TODO 创建RDD
    //TODO 数据分区的分配
    val rdd: RDD[String] = sc.textFile("datas/1.txt",2)

    rdd.saveAsTextFile("output")
    //TODO 关闭环境
    sc.stop()
  }
}

这是用于读取的文件datas/1.txt,其中CR为回车符,LF为换行符
img
这是代码运行完成后产生的三个分区数据文件

img

img

img

请问什么样的机制导致了这样的数据划分结果,并且数据的内容产生了变化?(少了两个CR符,多了一个LF符)

注:我使用的spark-core版本为spark-core_2.12-3.0.0.jar

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 创建了问题 7月30日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真