変換演算子
マップ:コレクションの各要素に適用されます
フィルタ:フィルタ(sc.filter(_。contains( "hello"))
flatMap:圧力フラットをマップします
union:unionの後に新しいRDDを返します
減算:2つのRDDで同じ要素を削除するための差を計算する関数で、異なるRDDは残ります
交差点:交差点を見つけた後、新しいRDDを返します
明確:重複排除
pattitionBy:パーティションを書き換えます。シェーファープロセスが存在する可能性があります
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):パーティションの数のみを減らすことができ、シャッフルは生成されず、大きなデータセットでフィルタリングした後にパーティションが減ります。
repartition(numPartitions):パーティションの数に応じて、ネットワークを介してすべての番号をランダムに再シャッフルします。これにより、シャッフルが生成されます。
reduceByKey:指定されたreduce関数を使用して、同じキーの値を集計します.reduceタスクの数は2番目のパラメーターで設定できます
groupByKey:reduceByKeyの方が効率的です:reduceByKeyは事前にデータを集約し、シャッフルプロセスを削減します
CombineByKey:同じKに対して、Vを1つのセットに結合します
sortByKey([ascending]、[numTasks]):キーを昇順、昇順、降順で並べ替えます。numTasks、タスクの数
sortBy(func、[ascending]、[numTasks]):funcを使用して最初にデータを処理し、処理されたデータの比較結果に従って並べ替えます
join(otherDataset、[numTasks]):タイプ(K、V)および(K、W)のRDDを呼び出し、同じキーに対応するすべての要素の(K、(V、W))のペアを一緒に返します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]):タイプ(K、V)および(K、W)のRDDを呼び出し、タイプ(K、(Iterable、Iterable))のRDDを返します。
golm:各パーティションを配列に形成して、新しいRDDタイプRDD [Array [T]]を形成します。
mapValues:フォーム(K、V)のタイプの場合、Vでのみ動作します
sample(withReplacement、fraction、seed):指定されたランダムシードでフラクションデータをランダムにサンプリングします。withReplacementは、抽出されたデータが置換されるかどうかを示します。trueは置換ありのサンプリング、falseは置換なしのサンプリング、seed乱数ジェネレータシードを指定するために使用されます。たとえば、データの50%がランダムに置き換えられ、RDDから置き換えられ、ランダムシード値は3です(つまり、1 2 3の開始値の1つを使用できます)
アクションオペレーター
reduce(func)は、func関数を介してRDD内のすべての要素を収集します。この関数は、交換可能で並列でなければなりません。
val rdd = sc.makeRDD(1 to 10)
rdd.reduce(_+_)
count:RDD内の要素の数を返します
first:RDDの最初の要素を返します
take(n):RDDの最初のいくつかの要素を返します
takeSample(withReplacement、num、[seed]):データセットからランダムにサンプリングされたnum個の要素で構成される配列を返します。不十分な部分を乱数に置き換えるかどうかを選択できます。シードは、乱数ジェネレータシードを指定するために使用されます。
takeOrdered(n):最初のいくつか(最小)の順序を返します
top(n):トップランキング(最大)を返します
saveAsTextFile(path):テキストファイルとして保存
saveAsSequenceFile(path):バイナリファイルとして保存
saveAsObjectFile(path):RDDの要素をオブジェクトにシリアル化し、ファイルに保存するために使用されます
countByKey:各キーの数を数えます
oreach(func):データセットの各要素で、関数funcを実行して更新します(マップと同様)