弹性分布式数据集(RDD)

RDD以分区(partition)的形式分布在集群中的多个机器上,每个分区代表了数据集的一个子集。分区定义了Spark中数据的并行单位。Spark框架并行处理多个分区,一个分区内的数据对象是顺序处理的。

创建RDD的几种方法
  • 在本地对象集合上调用SparkContext的parallelize方法。
    示例如下:
    在这里插入图片描述
    第一个参数代表待并行化的对象集合,第二个参数代表分区的个数。当要对一个分区内的对象进行计算时,Spark从驱动程序里获取对象集合的一个子集。
  • 在分布式文件系统(如HDFS)上的文件或目录上创建RDD,可以给textFile方法传入文件或目录的名称。
    示例如下:
    在这里插入图片描述
  • 如果Spark在本地模式下运行,可以用textFile方法访问本地文件系统上的路径。
    如果输入是目录而不是单个文件,Spark会把该目录下所有的文件作为RDD的输入。但是实际上,Spark并没有将数据读取到客户段机器或集群内存中。当需要对发呢去内的对象进行计算时,Spark才会读入输入文件的某个部分(也称“切片”),然后应用其他RDD定义的后续转换操作(过滤和汇总等)。
  • 另外,RDD也可由其他RDD转换来,等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值