スパークラジオ変数とトータライザー

放送は、変数を示し

  

II。コード 

1つのヴァルCONF = 新しいSparkConf()
 2 conf.setMaster( "ローカル")。setAppName( "brocast" 3ヴァルSCは= 新しいSparkContext(CONF)
 4リスト( "ハローxasxt"ヴァルリスト= 5  ヴァル放送=皮下。ブロードキャスト(リスト)
 6ヴァルlineRDD = sc.textFile( "./ words.txt" 7 lineRDD.filter {X => broadCast.value.contains(X) } .foreach {}のprintln
 8 sc.stop()

III。使用上の注意

  図1はできません、ブロードキャスト可変ブロードキャストを使用RDD ため RDDデータが弾性分散データセットを記憶されていません[]。RDD結果は、[データがあまりにも多くのことができない、収集]放送することができます。

  2. ブロードキャスト変数ができるだけで、ドライバ側定義端エグゼキュータで定義することができません。

  3. では放送用可変ドライバ端子の値を変更することができ、放送キュータ端における変数の値を変更することはできません。

IV。アキュムレータのイラスト

  

V.コード

1つのヴァルCONF = 新しいSparkConf()
 2 conf.setMaster( "ローカル")。setAppName( "アキュムレータ" 3ヴァルのSC = 新しいSparkContext(CONF)
 4  ヴァルアキュムレータ= sc.accumulator(0)
 5 sc.textFile(」。 /words.txt").foreach {X => { accumulator.add(1  }}
 6  のprintln(accumulator.value)
 7 sc.stop()

VI。使用上の注意

  1. アキュムレータ割り当てられた初期値定義ドライバ端、アキュムレータは、運転席側、側更新Excutorを読み取ることができます。

  

おすすめ

転載: www.cnblogs.com/yszd/p/11228392.html