当前位置: 首页 > news >正文

广州派出所门户网站在线网络培训平台

广州派出所门户网站,在线网络培训平台,网站备案取名,昌乐网站制作价格创建RDD 在Spark中创建RDD的方式分为三种: 从外部存储创建RDD从集合中创建RDD从其他RDD创建 textfile 调用SparkContext.textFile()方法,从外部存储中读取数据来创建 RDD parallelize 调用SparkContext 的 parallelize()方法,将一个存在的集合&…

创建RDD

在Spark中创建RDD的方式分为三种:

  1. 从外部存储创建RDD
  2. 从集合中创建RDD
  3. 从其他RDD创建

textfile

调用SparkContext.textFile()方法,从外部存储中读取数据来创建 RDD

parallelize

调用SparkContext 的 parallelize()方法,将一个存在的集合,变成一个RDD

makeRDD

方法一

/** Distribute a local Scala collection to form an RDD.** This method is identical to `parallelize`.*/def makeRDD[T: ClassTag](seq: Seq[T],numSlices: Int = defaultParallelism): RDD[T] = withScope {parallelize(seq, numSlices)}

方法二:分配一个本地Scala集合形成一个RDD,为每个集合对象创建一个最佳分区。

/*** Distribute a local Scala collection to form an RDD, with one or more* location preferences (hostnames of Spark nodes) for each object.* Create a new partition for each collection item.*/def makeRDD[T: ClassTag](seq: Seq[(T, Seq[String])]): RDD[T] = withScope {assertNotStopped()val indexToPrefs = seq.zipWithIndex.map(t => (t._2, t._1._2)).toMapnew ParallelCollectionRDD[T](this, seq.map(_._1), math.max(seq.size, 1), indexToPrefs)}

 举例

scala> val rdd = sc.parallelize(1 to 6, 2)
val rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[2] at parallelize at <console>:1scala> rdd.collect()
val res4: Array[Int] = Array(1, 2, 3, 4, 5, 6)scala> val seq = List(("American Person", List("Tom", "Jim")), ("China Person", List("LiLei", "HanMeiMei")), ("Color Type", List("Red", "Blue")))
val seq: List[(String, List[String])] = List((American Person,List(Tom, Jim)), (China Person,List(LiLei, HanMeiMei)), (Color Type,List(Red, Blue)))scala> val rdd2 = sc.makeRDD(seq)
val rdd2: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at makeRDD at <console>:1scala> rdd2.partitions.size
val res0: Int = 3scala> rdd2.foreach(println)
American Person
Color Type
China Personscala> val rdd1 = sc.parallelize(seq)
val rdd1: org.apache.spark.rdd.RDD[(String, List[String])] = ParallelCollectionRDD[1] at parallelize at <console>:1scala> rdd1.partitions.size
val res1: Int = 2scala> rdd2.collect()
val res2: Array[String] = Array(American Person, China Person, Color Type)scala> rdd1.collect()
val res3: Array[(String, List[String])] = Array((American Person,List(Tom, Jim)), (China Person,List(LiLei, HanMeiMei)), (Color Type,List(Red, Blue)))scala> var lines = sc.textFile("/root/tmp/a.txt",3)
var lines: org.apache.spark.rdd.RDD[String] = /root/tmp/a.txt MapPartitionsRDD[4] at textFile at <console>:1scala> lines.collect()
val res6: Array[String] = Array(a,b,c)scala> lines.partitions.size
val res7: Int = 3

转换算子

flatMap

map

reduceByKey

groupByKey

举例

scala> var lines = sc.textFile("/root/tmp/a.txt",3)
var lines: org.apache.spark.rdd.RDD[String] = /root/tmp/a.txt MapPartitionsRDD[13] at textFile at <console>:1scala> lines.flatMap(x=>x.split(",")).map(x=>(x,1)).reduceByKey((a,b)=>a+b).foreach(println)
(c,2)
(b,1)
(d,1)
(a,2)scala> lines.collect()
val res27: Array[String] = Array(a,b,c, c, a,d)scala> lines.map(_.split(",")).collect()
val res25: Array[Array[String]] = Array(Array(a, b, c), Array(c), Array(a, d))scala> lines.flatMap(_.split(",")).collect()
val res26: Array[String] = Array(a, b, c, c, a, d)

行动算子

http://www.mmbaike.com/news/109922.html

相关文章:

  • 建设网站建设哪里好网络营销的好处
  • 怎样用文本建一个网站互联网推广平台有哪些
  • 提交网站宁波网络营销策划公司
  • 做网站的经历感想seo排名啥意思
  • 如何把网站建设好seo关键词排优化软件
  • 国外移民公司网站设计搜索引擎优化论文
  • 如何查找昆明做网站服务的公司seow
  • 广东省企网站建设搜索引擎付费推广
  • app取代网站网络推广外包联系方式
  • 会展相关网站建设外链屏蔽逐步解除
  • php网站开发设计论文趣丁号友情链接
  • 做网站标签栏的图片大小做网站的软件有哪些
  • wordpress上传视频媒体库没显示桂平seo快速优化软件
  • 网站建设后期维护什么网站可以发布广告
  • 网站底部悬浮代码wordpressseo网站
  • 做网站运营还是翻译亚马逊关键词
  • 如何建设红色旅游网站营销型外贸网站建设
  • 大学生做社交网站福州seo推广服务
  • 河南seo技术教程百度站长工具seo查询
  • 备案个人网站名称免费手机网页制作
  • 深圳做网站排名seo建站网络公司
  • 浙江怎样做网站西安疫情最新数据消息5分钟前
  • 金融公司网站开发费用入什么科目一键识图找原图
  • 成都网站外包优化陕西seo关键词优化外包
  • 网站建设赚钱流程地推拉新接单网
  • 创建建站太原网站关键词排名
  • wordpress动态水印免费检测网站seo
  • 页游做的好的是哪个网站seo tdk
  • 深圳影视广告制作预算seo经典案例分析
  • 苏州十大互联网公司合肥网站优化