一般的に使用されるスパーク変換操作キー、値およびmapValues

1.keys

特長:

  すべてのキーと値のペアに戻ります

ヴァルリスト=リスト( "Hadoopの"、 "スパーク"、 "ハイブ"、 "スパーク")
ヴァルRDD = sc.parallelize(リスト)
ヴァルpairRdd = rdd.map(X =>(X、1))
pairRdd.keys。 collect.foreach(のprintln)

結果

Hadoop 
スパーク
ハイブ
スパーク
リスト:リスト[文字列] =リスト(Hadoopの、スパーク、ハイブ、スパーク)
RDD:org.apache.spark.rdd.RDD [文字列] = ParallelCollectionRDD [142]コマンド3434610298353610で並列化で:2 
pairRdd: 3:コマンド3434610298353610でマップでorg.apache.spark.rdd.RDD [(文字列、INT)] = MapPartitionsRDD [143]

2.values

特長:

  すべての値は、キーと値のペアを返します。

ヴァルリスト=リスト( "Hadoopの"、 "スパーク"、 "ハイブ"、 "スパーク")
ヴァルRDD = sc.parallelize(リスト)
ヴァルpairRdd = rdd.map(X =>(X、1))
pairRdd.values。 collect.foreach(のprintln)

結果

1 
1 
1 
1 
リスト:リスト[文字列] =リスト(Hadoopの、スパーク、ハイブ、スパーク)
RDD:org.apache.spark.rdd.RDD [文字列] = ParallelCollectionRDD [145]コマンド3434610298353610で並列化で:2 
pairRdd: 3:コマンド3434610298353610でマップでorg.apache.spark.rdd.RDD [(文字列、INT)] = MapPartitionsRDD [146]

3.mapValues(FUNC)

特長:

  キーの各値は、アプリケーションの関数であるために、しかし、重要な変更は発生しません。

例 

ヴァルリスト=リスト( "Hadoopの"、 "スパーク"、 "ハイブ"、 "スパーク")
ヴァルRDD = sc.parallelize(リスト)
ヴァルpairRdd = rdd.map(X =>(X、1))
pairRdd.mapValues( _ + 1).collect.foreach(のprintln)//对每个値进行+1

結果

(Hadoopの、2) スパーク、2) ハイブ、2) スパーク、2)


オリジナルリンクします。http://www.mamicode.com/info-detail-2285651.html

おすすめ

転載: www.cnblogs.com/123456www/p/12308247.html