使用数据分区优化join.ppt_第1页
使用数据分区优化join.ppt_第2页
使用数据分区优化join.ppt_第3页
使用数据分区优化join.ppt_第4页
使用数据分区优化join.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据分区,-by 球哥,大数据学习网介绍,我们的网址是: 我们提供专业的大数据学习视频,包括Hadoop,Spark,Storm,Mahout,机器学习等。 我们定价合理,让每个人都学得起大数据。,友情提示,本系列课程主要由Learning.Spark这本书整理而来。 本系列课程主要目的,帮助想要学习Spark的同学入门。 本系列课程中的ppt可自由传播,无需任何授权,但不要用于商业用途哦。 本系列课程中的视频不要自由传播哦,如果同学们觉得课程价格不合理,欢迎在下面的群中反馈,我们会考虑调整价格的。 Spark学习交流群:368770186,371896553,数据分区,数据分区 设计RDD的Partitioner,数据分区,解决低效问题 我们知道userData 表比每五分钟的时间日志大很多,这浪费了很多工作。userData 每次调用的时候,都通过网络hashed和shuffled,尽管它不变化。 在userData使用partitionBy() 例子- 自定义 partitioner val sc = new SparkContext(.) val userData=sc.textFile(“/home/spark/testfile/userData“) .map(line=(line.split(“ “)(0),line.split(“ “)(1) .partitionBy(new HashPartitioner(100) / 创建100 个数据分区 .persist(),数据分区,当创建userData的时候,我们调用了partitionBy(),Spark知道它被hash-partitioned,当调用join()的时候,会充分利用这个信息。尤其,Data.join(events)的时候,Spark会只把events RDD shuffle,把events发送到包含相应userData的机器上去(userId相同)。 通常情况下,分区数至少和集群中内核数相等。 必须使用persist()方法,否则使用partitioned RDD的时候,会重新计算,相当于没有指定partitioner。,数据分区,每次userData和events join的时候使用partitionBy(),数据分区,事实上,许多其它的Spark操作都是自动的,使用已知的partitioning信息,返回一个RDD的。 许多不是join()的操作会充分利用partitioning信息。 例如,sortByKey()返回range-partitioned RDDs groupByKey()返回hash-partitioned RDDs,设计RDD的Partitioner,例子: 设计一个RDD的partitioner scala val pairs = sc.parallelize(List(1, 1), (2, 2), (3, 3) scala pairs.partitioner scala val partitioned = pairs.partitionBy(new org.apache.spark.HashPartitioner(2) scalapartitioned.persist() scala partitioned.partitioner,内部使用了 Partitioner的方法,使用了Partitioner的方法 cogroup(), groupWith(), join(), leftOuterJoin(), rightOuter Join(), groupByKey(), reduceByKey(), combineByKey(), and lookup(). 如果父RDD有partitioner下面的操作也会返回partitioner mapValues() flatMapValues() and filter() 如果有一个父RDD有Partitioner,那么Partitioner就是父RDD的Partitioner,如果两个父RDD都有,则是第一个的。,内部使用了 Partitioner的方法,cogroup() 和join() 至少一个RDD(有已知Partitioner的RDD)不会被shuffle 如果两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论