关于spark分区index

问题描述

想请教一下各位大虾如果一个RDD有2个partitions分布在2个机器上(一个机器上一个),如果每个分区中的数据的key的hash值等于所在分区的index,那么在hash的过程中能保证物理机器中没有数据移动么?比如在分区0上数据是(0,0),在分区1上是(1,1),那么hashre-partitioning的时候能保证(0,0)和(1,1)还在原来所在物理机器上么?有什么方法能保证这样么?因为这样在实际操作中可以节省网络消耗先谢了

解决方案

解决方案二:
这个应该是SPARK自己决定的吧。RDD内方法你看看。

时间: 2024-12-14 10:03:27

关于spark分区index的相关文章

Spark源码分析之分区器的作用

最近因为手抖,在Spark中给自己挖了一个数据倾斜的坑.为了解决这个问题,顺便研究了下Spark分区器的原理,趁着周末加班总结一下~ 先说说数据倾斜 数据倾斜是指Spark中的RDD在计算的时候,每个RDD内部的分区包含的数据不平均.比如一共有5个分区,其中一个占有了90%的数据,这就导致本来5个分区可以5个人一起并行干活,结果四个人不怎么干活,工作全都压到一个人身上了.遇到这种问题,网上有很多的解决办法. 但是如果是底层数据的问题,无论怎么优化,还是无法解决数据倾斜的. 比如你想要对某个rdd

Hive、MapReduce、Spark分布式生成唯一数值型ID

在实际业务场景下,经常会遇到在Hive.MapReduce.Spark中需要生成唯一的数值型ID. 一般常用的做法有: MapReduce中使用1个Reduce来生成; Hive中使用row_number分析函数来生成,其实也是1个Reduce; 借助HBase或Redis或Zookeeper等其它框架的计数器来生成; 数据量不大的情况下,可以直接使用1和2方法来生成,但如果数据量巨大,1个Reduce处理起来就非常慢. 在数据量非常大的情况下,如果你仅仅需要唯一的数值型ID,注意:不是需要"连

实用 | 从Apache Kafka到Apache Spark安全读取数据

引言 随着在CDH平台上物联网(IoT)使用案例的不断增加,针对这些工作负载的安全性显得至关重要.本篇博文对如何以安全的方式在Spark中使用来自Kafka的数据,以及针对物联网(IoT)使用案例的两个关键组件进行了说明. Cloudera Distribution of Apache Kafka 2.0.0版本(基于Apache Kafka 0.9.0)引入了一种新型的Kafka消费者API,可以允许消费者从安全的Kafka集群中读取数据.这样可以允许管理员锁定其Kafka集群,并要求客户通过

ORACLE 12C Partial Global/Local Indexes for Partitioned Tables

以前我有个想法,我只想对其中的某个或者某几个分区上创建索引,其他分区不想创建,在12C之前的版本,无论是Local还是Global index,都不能实现该需求,但是从ORACLE 12C开始引进了Partial Global/Local Indexes for Partitioned Tables,解决了该问题,可以在指定的分区上创建本地索引或者全局索引,主要语法是在表或者分区,子分区级别设置[INDEXING { ON | OFF }]创建测试表  代码如下 复制代码 CDB_PDB@CHF

大数据基础知识问答----spark篇,大数据生态圈

Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点:但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法. 2.Spark与Hadoop的对比(Spar

Spark Core源码分析: Spark任务模型

概述 一个Spark的Job分为多个stage,最后一个stage会包括一个或多个ResultTask,前面的stages会包括一个或多个ShuffleMapTasks. ResultTask执行并将结果返回给driver application. ShuffleMapTask将task的output根据task的partition分离到多个buckets里.一个ShuffleMapTask对应一个ShuffleDependency的partition,而总partition数同并行度.redu

深入理解Spark:核心思想与源码分析

大数据技术丛书 深入理解Spark:核心思想与源码分析 耿嘉安 著 图书在版编目(CIP)数据 深入理解Spark:核心思想与源码分析/耿嘉安著. -北京:机械工业出版社,2015.12 (大数据技术丛书) ISBN 978-7-111-52234-8 I. 深- II.耿- III.数据处理软件 IV. TP274 中国版本图书馆CIP数据核字(2015)第280808号 深入理解Spark:核心思想与源码分析 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037)

Spark Shuffle过程分析:Map阶段处理流程

默认配置情况下,Spark在Shuffle过程中会使用SortShuffleManager来管理Shuffle过程中需要的基本组件,以及对RDD各个Partition数据的计算.我们可以在Driver和Executor对应的SparkEnv对象创建过程中看到对应的配置,如下代码所示: // Let the user specify short names for shuffle managers      val shortShuffleMgrNames = Map(        "sort&

Spark Shuffle Write阶段磁盘文件分析

前言 上篇写了 Spark Shuffle 内存分析后,有不少人提出了疑问,大家也对如何落文件挺感兴趣的,所以这篇文章会详细介绍,Sort Based Shuffle Write 阶段是如何进行落磁盘的 流程分析. 入口处: org.apache.spark.scheduler.ShuffleMapTask.runTask runTask对应的代码为: val manager = SparkEnv.get.shuffleManager writer = manager.getWriter[Any