Apache ota Spark

origen RDD

En muchos algoritmos iterativos (tales como el aprendizaje de máquina, algoritmos de grafos, etc.) y la minería de datos interactivo, reutiliza calculado resultados intermedios entre las diferentes etapas, es decir, la etapa de salida se puede utilizar como entrada de la siguiente etapa.

Sin embargo, antes de utilizar el marco MapReduce datos acíclicos fluyen modelo, el resultado intermedio se escribe en el HDFS, traer un montón de replicación y secuencias de disco overhead IO.

Y los marcos sólo admiten cierto modo de cálculo (map / reduce), que no proporciona una abstracción de datos común.

AMP laboratorio publicó un documento sobre el RDD: "Conjuntos de datos distribuidos resilientes: Un Tolerante a Fallos abstracción para el In-Memory Computing Cluster" es resolver estos problemas

RDD proporciona un modelo abstracto de datos, no necesita preocuparse acerca de la naturaleza distribuida de los datos subyacentes, solamente la lógica de aplicación específica se expresa como una serie de conmutación de funcionamiento (función), también puede estar formado entre la operación de conversión dependiente entre diferentes RDD relación, logrando así la canalización, evitando así el almacenamiento de resultados intermedios, reduce en gran medida la replicación y secuencias de disco IO de arriba, y también proporciona más API (mapa / reduec / filtro / GroupBy ...)

Lo que es RDD

RDD (Resilient Distributed conjunto de datos) se llama los conjuntos flexibles de datos distribuidas, es la más básica Spark abstracción de datos, que representa un inmutable, divisible, cuyo elemento se puede ajustar de computación en paralelo.

desmonta la palabra

  • Resilientes: es flexible, RDD datos pueden ser almacenados en la memoria o en el interior del disco
  • Distribuido: se distribuye en el interior del elemento de almacenamiento, que puede ser utilizado para la computación distribuida
  • Conjunto de datos: es una colección, puede almacenar una gran cantidad de elementos

principales atributos de RDD

1.A lista de particiones:

Rebanadas (partición) / partición (la partición) lista, es decir, la unidad básica del conjunto de datos.
Para RDD, cada rebanada será un grado de paralelismo determina el cálculo de procesamiento de la tarea, el número de fragmentos.
El usuario puede especificar el número de cortes en la creación de RDD RDD, si no se especifica, se usará por defecto el valor.

2.A la función para el cálculo de cada división:

Una función será en efecto cada partición.
cálculo Spark RDD se basa en las unidades de partición, calcular la función se aplicará a cada partición

3.A la lista de dependencias de otros DDR:

RDD dependerá de una serie de otros RDD.
RDD cada convertidor genera una nueva RDD, se formará una línea similar a la misma dependencia entre el RDD delantero y trasero. Cuando parte de la pérdida de datos de la partición, la chispa puede volver a calcular los datos de la partición perdidos por esta dependencia, en lugar de todas las particiones se volvieron a calcular RDD. (Tolerancia a fallos Spark)

4.Optionally, un particionador de DDR clave-valor (por ejemplo, decir que el RDD es hash de particiones):

particiones de chispa funcionan, en base a un HashPartitioner de hash, el otro se basa gama RangePartitioner.
Para el tipo KV de RDD tener una función Partitioner, es decir, la función de partición RDD (opcional)
sólo para clave-valor de RDD, tendrá Partitioner, el valor de la no-clave-valor Parititioner el RDD es Ninguno. particionador función determina el número de particiones RDD en sí, sino que también determina el número de particiones de los padres de salida RDD aleatoria.

5.Optionally, una lista de ubicaciones preferidas para calcular cada división en (por ejemplo, lugares de bloque para un archivo HDFS):

Opcionalmente, una lista de ubicaciones de las tiendas cada partición (ubicación preferida).
Para un archivo HDFS, la preservación de esta lista es el lugar donde los bloques para cada partición. De acuerdo con el concepto de "datos móviles es la computación móvil mejor", Spark haciendo tiempo de programación de tareas, seleccionará los nodos trabajador contiene datos como sea posible para llevar a cabo los cálculos de tareas.

resumen

RDD es un conjunto de datos, no sólo muestra el conjunto de datos, el conjunto de datos también muestra dónde viene, cómo calcular.
Las principales propiedades incluyen

1. El multi-partición
2. función de cálculo
3. dependencias
4. función de partición (por defecto es el hash)
5. La posición óptima

Publicados 295 artículos originales · ganado elogios 184 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_42072754/article/details/105305561
Recomendado
Clasificación