[scala-spark]9. RDD创建操作
1. 从集合创建RDD
- parallelize
def parallelize[T](seq: Seq[T], numSlices: Int = defaultParallelism)(implicit arg0: ClassTag[T]): RDD[T]
目的:从一个Seq集合创建RDD
参数1:Seq集合,必须
参数2:分区数,默认为该Application分配到的资源的CPU核数
scala> var rdd = sc.parallelize(1 to 10)
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[2] at parallelize at :21scala> rdd.collect
res3: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)scala> rdd.partitions.size
res4: Int = 15//设置RDD为3个分区
scala> var rdd2 = sc.parallelize(1 to 10,3)
rdd2: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[3] at parallelize at :21scala> rdd2.collect
res5: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)scala> rdd2.partitions.size
res6: Int = 3
- makeRDD
def makeRDD[T](seq: Seq[T], numSlices: Int = defaultParallelism)(implicit arg0: ClassTag[T]): RDD[T]
// 这种用法和parallelize完全相同
def makeRDD[T](seq: Seq[(T, Seq[String])])(implicit arg0: ClassTag[T]): RDD[T]
// 该用法可以指定每一个分区的preferred Locations
scala> var collect = Seq((1 to 10,Seq("slave007.lxw1234.com","slave002.lxw1234.com")),
(11 to 15,Seq("slave013.lxw1234.com","slave015.lxw1234.com")))
collect: Seq[(scala.collection.immutable.Range.Inclusive, Seq[String])] = List((Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
List(slave007.lxw1234.com, slave002.lxw1234.com)), (Range(11, 12, 13, 14, 15),List(slave013.lxw1234.com, slave015.lxw1234.com)))scala> var rdd = sc.makeRDD(collect)
rdd: org.apache.spark.rdd.RDD[scala.collection.immutable.Range.Inclusive] = ParallelCollectionRDD[6] at makeRDD at :23scala> rdd.partitions.size
res33: Int = 2scala> rdd.preferredLocations(rdd.partitions(0))
res34: Seq[String] = List(slave007.lxw1234.com, slave002.lxw1234.com)scala> rdd.preferredLocations(rdd.partitions(1))
res35: Seq[String] = List(slave013.lxw1234.com, slave015.lxw1234.com)
2. 从外部存储创建RDD
- textFile
//从hdfs文件创建
scala> var rdd = sc.textFile("hdfs:///tmp/lxw1234/1.txt")
rdd: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[26] at textFile at :21scala> rdd.count
res48: Long = 4//从本地文件创建
scala> var rdd = sc.textFile("file:///etc/hadoop/conf/core-site.xml")
rdd: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[28] at textFile at :21scala> rdd.count
res49: Long = 97
[scala-spark]9. RDD创建操作相关推荐
- Spark算子:RDD创建操作
关键字:Spark RDD 创建.parallelize.makeRDD.textFile.hadoopFile.hadoopRDD.newAPIHadoopFile.newAPIHadoopRDD ...
- Spark RDD创建操作
从集合创建RDD parallelize def parallelize[T](seq: Seq[T], numSlices: Int = defaultParallelism)(implicit a ...
- Spark 的键值对(pair RDD)操作,Scala实现
一:什么是Pair RDD? Spark为包含键值对对类型的RDD提供了一些专有操作,这些操作就被称为Pair RDD,Pair RDD是很多程序的构成要素,因为它们提供了并行操作对各个键或跨节点重新 ...
- 2021年大数据Spark(十三):Spark Core的RDD创建
RDD的创建 官方文档:http://spark.apache.org/docs/latest/rdd-programming-guide.html#resilient-distributed-dat ...
- 在IntelliJ IDEA中创建和运行java/scala/spark程序
本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介 ...
- Spark的RDD序列化
RDD序列化 1. 闭包检查 从计算的角度, 算子以外的代码都是在Driver 端执行, 算子里面的代码都是在 Executor端执行.那么在 scala 的函数式编程中,就会导致算子内经常会用到算子 ...
- Spark的RDD行动算子
目录 基本概念 算子介绍 1. reduce 2. collect 3. count 4. first 5. take 6. takeOrdered 案例实操1-6 7. aggregate 8. f ...
- 10.Spark之RDD及编程接口
2019独角兽企业重金招聘Python工程师标准>>> 1.起点Hello World val sc = new SparkContext("spark://...&quo ...
- Spark _22 _创建DataFrame的几种方式(一)
创建DataFrame的几种方式 读取json格式的文件创建DataFrame 注意: json文件中的json数据不能嵌套json格式数据. DataFrame是一个一个Row类型的RDD,df.r ...
最新文章
- 办公电脑变买为租,“企业惊变”背后神秘推手
- window.open()具体解释及浏览器兼容性问题
- 深度学习-Tensorflow2基础知识
- 从零开始单排学设计模式「UML类图」定级赛 1
- SQL Server数据库中批量导入数据的四种方法总结
- python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
- 【Pytorch神经网络理论篇】 02 Pytorch快速上手(二)GPU与CPU张量切换+具有随机值的张量+张量的数学运算
- Linux学习(lesson1)
- css工程师技巧,web前端工程师必须掌握的技巧–CSS Sprites技术(附基础操作教程)...
- c# 实现查找mysql安装路径
- 元宇宙引擎脑语言2500令v0.5.6
- 一文图解自定义修改el-table样式
- Bootstrap V5 图标字体的引入以及使用方法
- DanmuVis: Visualizing Danmu Content Dynamics and AssociatedViewer Behaviors in Online Videos
- 微信中H5+java+vue获取微信定位等JS-SDK
- hadoop——常用端口号——常用的配置文件,3.x与2.x区别
- 【Kafka笔记】5.Kafka 多线程消费消息
- 设计模式之命令模式详解(故事版)
- [自扫盲]skype、IP电话、VOIP、网络电话、互联网电话、IP拨号
- 国资委出炉30家整体上市央企名单