RDD基础实例

RDD(弹性分布式数据集)作为spark的核心概念,RDD其实就是一个不可变的分布式的元素集合

什么是弹性: 在任何实收都能进行重新计算,当保存RDD数据的一台机器挂了,spark还可以使用这种特性来重新计算出丢掉的分区,对用户也完全透明。

每个RDD都被分为多个分区,这些分区运行在集群中的不同节点

创建RDD的方式有多种,一是主要读取一个外部的数据集,二是在驱动器程序中的对象集合。

创建出RDD之后,支持两种类型的操作: transformation和action操作。转化操作由一个RDD生产一个新的RDD,但只会惰性计算这些RDD,action操作才是真正计算最终结果的。

spark的RDD会在每次对他们进行action操作时重新计算,如果想在多个action操作中重用同一个RDD,可以使用cache()或是RDD.persist()来将这个RDD缓存起来。我们也可以将数据缓存到不同的地方,比如,磁盘或是内存。如果所有操作都结束,则可以调用stop()操作结束。

eg 举例如下:
>>> val rdd = sc.parallelize(Seq(("hadoop",3), ("spark",2), ("hive",1), ("hbase",3), ("java",2)))
>>> val resRdd= rdd.filter(_._2 == 3)
>>> resRdd.persist()
>>> resRdd.count()
>>> resRdd.first()

大概的spark程序工作方式:

  1. 从外部数据集或驱动程序中创建出RDD.
  2. 使用filter(),flatMap()等transformation操作对RDD进行转化,定义新的RDD.
  3. 将重用的中间结果RDD进行cache()或是persist()操作(cache()和使用默认级别的persist()操作是相同意思的)。
  4. 使用action操作来触发一次并行计算。

http://spark.apachecn.org/docs/cn/2.2.0/sql-programming-guide.html
spark中文官网(学习spark最好的方式就是读官方文档)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片微型计算机(MCU)经过多年的发展,在性能上有很大的进步,在型号上发展到上千种类,已经广泛应用于人类社会生活的各个领域。单片机课程已经成为高校计算机、自动化、测控以及电子信息工程等专业的重要课程。该课程是一门理论性和实践性都很强的课程,在实际教学中,应将理论教学和实验教学紧密结合。学生在掌握理论知识之余,必须通过编写程序、设计硬件电路、仿真、调试这一系列的实验过程,才能更好地掌握单片机的结构原理和应用技能。随着单片机及其接口技术的飞速发展,目前市场上供应的编程仿真实验资源并不能完全满足高校单片机课程教与学的需求,构建低成本、技术先进、源码公开的单片机编程仿真实验系统,对我国单片机课程的教学和单片机领域人才的培养具有重要的现实意义。 本论文结合目前教学中对单片机编程仿真实验系统的实际需求,采用模块化结构设计思想,精心设计和开发了单片机编程仿真实验系统。该单片机编程仿真实验系统由PC机端单片机编程控制软件和单片机编程仿真实验板两部分组成。PC机端的单片机编程控制软件可以自动检测到连接到单片机编程仿真实验板上的单片机,控制单片机编程器擦除、写入、读出、校验目标单片机ROM中的程序,以十六进制文件(.HEX文件)格式显示在控制界面内;单片机仿真实验系统能够把写入单片机的程序实时地运行,并呈现实际运行效果。单片机编程控制软件和单片机仿真实验板组成一个完整的单片机编程仿真实验系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值