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)