【Python3实战Spark大数据分析及调度】第3章 Spark Core核心RDD

第3章 Spark Core核心RDD

大部分截图来自于官网:http://spark.apache.org/docs/latest/rdd-programming-guide.html


RDD源码:源码git地址

RDD五大特性:

1. A list of partitions
RDD是一个由多个partition(某个节点里的某一片连续的数据)组成的的list;将数据加载为RDD时,一般会遵循数据的本地性(一般一个hdfs里的block会加载为一个partition)。
2. A function for computing each split
RDD的每个partition上面都会有function,也就是函数应用,其作用是实现RDD之间partition的转换。
3. A list of dependencies on other RDDs
RDD会记录它的依赖 ,为了容错(重算,cache,checkpoint),也就是说在内存中的RDD操作时出错或丢失会进行重算。
4. Optionally,a Partitioner for Key-value RDDs
可选项,如果RDD里面存的数据是key-value形式,则可以传递一个自定义的Partitioner进行重新分区,例如这里自定义的Partitioner是基于key进行分区,那则会将不同RDD里面的相同key的数据放到同一个partition里面
5. Optionally, a list of preferred locations to compute each split on
最优的位置去计算,也就是数据的本地性。移动数据不如移动计算。

RDD五大特性源码体现

图解RDD

SparkContext&SparkConf详解

创建RDD

  1. 从外部使用parallelize,注意后面加数字是改变partitions的数量,reduce和collect的动作操作会执行计算

  2. 从文件中创建

    注意如果是本地文件系统,需要注意以下问题:

    支持文件夹下所有文件,多个正则文件,gz压缩文件
    可以控制partition的数量,默认partition是hdfs中的一个block,128M

    使用wholeTextFiles读取文件位置和文件内容


    保存和加载Sequence File

    从ES中读取数据

    数据存储

Spark应用程序的开发以及运行


设置参数操作:


添加使用的python的路径

添加使用的spark路径(就是把前面路径中的/python去掉)

然后apply
两个zip包。
打开preference


添加完成,最后示范一段简单的开发代码

在集群上提交代码

spark-submit --help可以看到官方的一些指示


全部评论

相关推荐

我看到好多人都在说0offer好焦虑,结果一看是投了百度快手字节啥的。好像大家都是只想通过校招进大厂,对小公司是不考虑的吗😂可是能进大厂的难道不是只有少部分人吗,真心发问
梦想是成为七海千秋:沉默的大多数吧,喜欢晒的都是能引起共鸣的大厂,找小厂的人,别人也不认识你这个小厂,就自己偷偷找了实际上大多数人哪有什么机会能找到大厂
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-12 18:53
第一次听说还有无水工作!!!又是被刷新三观的一天
Lynn012:666第一次听到,你给他说这里不方便我们加个微信
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务