Spark学習のキー値対(pair RDD)操作(3)
2210 ワード
Spark学習のキー値対(pair RDD)操作(3)
1.通常、イベント時間、ユーザID、または他の識別子を表すフィールドなどのいくつかのフィールドをRDDから抽出し、pair RDDオペレーションのキーとして使用します.
2.pair RDDの作成
3.pair RDDの変換動作
4.2つのpair RDD変換動作について
5.pair RDDのアクション
6.データパーティション
1.通常、イベント時間、ユーザID、または他の識別子を表すフィールドなどのいくつかのフィールドをRDDから抽出し、pair RDDオペレーションのキーとして使用します.
2.pair RDDの作成
1)
2) RDD map() pair RDD, 。
Python pair RDD
pairs = lines.amp(lambda x: (x.split(" ")[0],x))
Scala pair RDD
val pairs = lines.map(x=>(x.split(" ")(0),x))
3.pair RDDの変換動作
pair RDD RDD ,
reduceBykey(func)
groupByke()
combineByKey(
createCombiner,
mergeValue,
mergCombiners,
partitioner)
mapValues(func) pair RDD
flatMapValues(func) pair RDD ,
。
。
keys() RDD
values() RDD
sortByKey() RDD
4.2つのpair RDD変換動作について
subtractByKey RDD other RDD
join RDD
rightOuterJoin RDD , RDD ( )
leftOuterJoin RDD , RDD ( )
cogroup RDD
5.pair RDDのアクション
countByKey()
collectAsMap() ,
lookup(key)
6.データパーティション
。
, 。
Scala
val sc = new SparkContext(...)
val userData = sc.sequenceFile(UserID,UserInfo)("hdfs://...")
.partitionBy(new HashPartitioner(100))
.persist()