Clasificación e interpretación de operadores RDD

RDD 算 子

Operador de transformación

mapa: aplicado a cada elemento de la colección

filter: filter (sc.filter (_. contiene ("hola"))

flatMap: mapa de presión plana

unión: devuelve un nuevo RDD después de la unión

restar: una función que calcula la diferencia para eliminar los mismos elementos en dos RDD, y los diferentes RDD permanecerán

intersecton: devuelve un nuevo RDD después de encontrar la intersección

distinto: deduplicación

pattitionBy: reescribe la partición, puede haber un proceso de shaffer

val rdd =sc.parallelize(Array((1,"aaa"),(2,"bbb"),(3,"ccc"),(4,"ddd")),4)		//4 表示装到4个分区
rdd.partitionBy(new org.apache.spark.HashPartitioner(2))		//变成两个分区

coalesce (numPartitions): solo se puede reducir el número de particiones, no se genera ningún orden aleatorio y las particiones se reducen después de filtrar con un gran conjunto de datos.

repartición (numPartitions): según el número de particiones, reorganice todos los números aleatoriamente a través de la red, lo que generará una reproducción aleatoria

reduceByKey: utiliza la función de reducción especificada para agregar los valores de la misma clave. El número de tareas de reducción se puede establecer mediante el segundo parámetro

groupByKey: reduceByKey es más eficiente: reduceByKey agrega datos por adelantado, lo que reduce el proceso de reproducción aleatoria

combineByKey: Para el mismo K, combine V en un conjunto

sortByKey ([ascendente], [numTasks]): ordena la clave, en orden ascendente, ascendente y descendente; numTasks, el número de tareas

sortBy (func, [ascendente], [numTasks]): use func para procesar los datos primero y ordene de acuerdo con los resultados de la comparación de datos procesados

join (otherDataset, [numTasks]): invocar RDD de tipo (K, V) y (K, W), y devolver un par de (K, (V, W)) de todos los elementos correspondientes a la misma clave juntos RDD

val rdd =sc.parallelize(Array((1,"a"),(2,"b"),(3,"c")))
val rdd1 =sc.parallelize(Array((1,3),(2,3),(3,2),(4,1)))
rdd.join(rdd1).collect
Array[(Int, (String, Int))] = Array((2,(b,3)), (1,(a,3)), (3,(c,2)))

cogroup (otherDataset, [numTasks]): invocar RDD de tipo (K, V) y (K, W), y devolver un RDD de tipo (K, (Iterable, Iterable))

golm: Forme cada partición en una matriz para formar un nuevo RDD tipo RDD [Array [T]]

mapValues: Para tipos de formulario (K, V), solo opere en V

muestra (conRemplazo, fracción, semilla): muestra aleatoriamente datos de fracción con la semilla aleatoria especificada, conRemplazo indica si los datos extraídos se reemplazan, verdadero es muestreo con reemplazo, falso es muestreo sin reemplazo, semilla Se usa para especificar la semilla del generador de números aleatorios Por ejemplo, el 50% de los datos es aleatorio y se reemplaza desde el RDD, y el valor de semilla aleatorio es 3 (es decir, se puede usar uno de los valores iniciales de 1 2 3)

Operador de acción

reduce (func) reúne todos los elementos en el RDD a través de la función func, esta función debe ser intercambiable y paralela

val rdd = sc.makeRDD(1 to 10)
rdd.reduce(_+_)

count: devuelve el número de elementos en el RDD

primero: devuelve el primer elemento del RDD

take (n): Devuelve los primeros elementos de RDD

takeSample (withReplacement, num, [seed]): devuelve una matriz que consta de num elementos muestreados aleatoriamente del conjunto de datos. Puede elegir si desea reemplazar la parte insuficiente con números aleatorios. Seed se usa para especificar la semilla del generador de números aleatorios

takeOrdered (n): Devuelve el orden de los primeros (los más pequeños)

top (n): Devuelve la clasificación superior (más grande)

saveAsTextFile (ruta): guardar como un archivo de texto

saveAsSequenceFile (ruta): guardar como un archivo binario

saveAsObjectFile (ruta): se usa para serializar los elementos en el RDD en objetos y almacenarlos en un archivo

countByKey: cuente el número de cada clave

oreach (func): en cada elemento del conjunto de datos, ejecute la función func para actualizar (similar a map)

Supongo que te gusta

Origin blog.csdn.net/weixin_44429965/article/details/107365483
Recomendado
Clasificación