寒假学习进度4

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了寒假学习进度4脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

今天开始学习spark3大数据结构中的RDD

什么是RDD:

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据
处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行
计算的集合。
RDD有5大核心属性:
*-A list of partITions(分区列表用于执行任务时并行计算)
*一 A function for computing each split*(分区计算函数,每个分区的数据计算)
-A list of dePEndencies on other RDDs(RDD 之间的依赖关系)
*- Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)(,分区器,分区器自定义数据的分区)
- Optionally, a list of PReferred locations to compute each split on (e.g. block locations for水an HDFS file)(首选位置,可以根据计算节点的状态选择不同的节点位置进行计算)
 
RDD的创建:
(1)从集合(内存)中创建 RDD
def main(args: Array[String]): Unit = {  //准备环境  val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark")  val sparkContext = new SparkContext(sparkConf)  //内存中创建rdd,内存中存储的数据作为数据  //parallelize:并行  val rdd1 = sparkContext.parallelize(    List(1,2,3,4)  )  //从底层代码实现来讲,makeRDD 方法其实就是 parallelize 方法  val rdd2 = sparkContext.makeRDD(    List(1,2,3,4)  )  rdd1.collect().foreach(println)  rdd2.collect().foreach(println)  //关闭环境  sparkContext.stop()}@H_360_132@
(2)从外部存储(文件)创建 RDD
def main(args: Array[String]): Unit = {  val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark")  val sparkContext = new SparkContext(sparkConf)  //spark读取文件操作底层代码就是使用hadoop的读取方式  //第二个参数可以指定最小分区数  val fileRDD: RDD[String] = sparkContext.textFile("data",2)  //path路径可以使用通配符*  // val fileRDD: RDD[String] = sparkContext.textFile("data/1*.txt")  //分布式系统路径  // val fileRDD: RDD[String] = sparkContext.textFile("hdfs://hadoop102:8020/test")  fileRDD.collect().foreach(println)  sparkContext.stop()}
 
RDD 并行度与分区:(数据分区后的数据分配问题篇幅过于长,详情见尚硅谷spark教程P35-p39)
def main(args: Array[String]): Unit = {  //准备环境  val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark")  val sparkContext = new SparkContext(sparkConf)  //rdd的并行和分区,第二个参数可以指定分区数  val dataRDD: RDD[Int] = sparkContext.makeRDD(      List(1,2,3,4),4)  //文件分区后进行输入在output目录下  dataRDD.saveAsTextFile("output")  sparkContext.stop()  //关闭环境  sparkContext.stop()}//spark读取文件操作底层代码就是使用hadoop的读取方式

脚本宝典总结

以上是脚本宝典为你收集整理的寒假学习进度4全部内容,希望文章能够帮你解决寒假学习进度4所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。