JAVA RDDはじめに

RDDはじめに

RDD、フルネーム弾力性の分散型データセット(弾力性、分散データセット)は、スパークは、データの抽象的で、ほとんどのコアコンセプトスパークです。

RDDは、各操作のみRDDおよびRDDをサポートリードをそれぞれ複数のパーティションに分割され、要素の分散集合であるクラスタの異なるノード上に格納されています。また、RDDはまた、指定されたデータを表示するため、ユーザはRDDプログラムを習得するメモリやディスクに格納されたSPARKの開発の最初のステップであることができます。

 

1:作成(作成操作):RDDが原因であることがSparkContextによって作成されました。
2:変換動作(変形動作):特定の操作を介してRDD互いにがRDDに変換されます。
3:アクション操作(アクション操作):RDDアクションはスパーク実行操作ジョブトリガ用スパーク計算は、不活性である
等の持続性のためにRDD:制御動作(制御動作):4。

 

DEMOコードアドレス:https://github.com/zhp8341/sparkdemo/blob/master/src/main/java/com/demo/spark/rdddemo/OneRDD.java

ワン:操作を作成します。

RDDは、2つの方法で作成した:
1データ・セットを読み出す(SparkContext.textFile()):

JavaDStreamlines = jssc.textFileStream( "/ユーザ/ huipeizhu /ドキュメント/ sparkdata /入力/")。 
JavaReceiverInputDStreamlines = jssc.socketTextStream( "ローカルホスト"、9999)。


2セットを読み出す(SparkContext.parallelize()):

Listlist =は、Arrays.asList(5、4、3、2、1)。
JavaRDDrdd = sc.parallelize(リスト)。

II:変換動作

1:シングル変換動作RDD
マップ()オペレーションの各要素のために、新しいRDD返し
するSystem.out.println( "各素子10によってRDD:" + rdd.map(V -


フィルタ():新しいRDDのほとんどのスクリーニング、適格なリターン要素の各要素
のSystem.out.println( "RDDは、要素1削除:"!+ rdd.filter(V - > V = 1));

flatMap():イテレータのすべての要素が新しいRDDが戻る形成するために返された各要素の動作は、
r.dd.flatMapを(X - > x.to(3 )))(集めます。

別個の():再試行する
のSystem.out.println( "RDD重複排除操作:" + rdd.distinct())と、

RDD最大値と最小値

整数最大= RDD .reduce((V1、V2)  - 数学.MAX(V1、V2))。

整数分= EET .reduce((V1、V2)  - 入力.min(V1、V2))


2:2 RDD変換動作:


[1、2、3] [3、4、5] 2つの単純な相関演算RDD

ユニオン():合計重量ではない
のSystem.out.println( "RDD 2つのコレクション:" + rdd1.union(RDD2).collect ());

交差点():交差点
のSystem.out.println( "一般的な2つの要素のRDDコレクション:" + rdd1.intersection(RDD2).collect ());

デカルト():デカルト積
のSystem.out.println( "デカルト積とRDDのさらなるセット:" + rdd1.cartesian(RDD2).collect ())。

減算():同一のコンテンツ削除
rdd1.subtract(RDD2).collectを()

 

3:アクションの操作


収集():すべての要素を返す
するSystem.out.println( "生データ:" + rdd.collect())。

カウント():要素の数を返します
のSystem.out.println( "すべての要素のRDD統計:" + rdd.countを());

countByValue():回数要素の各々が表示
するSystem.out.println(「各要素が起こり得る回数:」+ rdd.countByValue())。

(NUM)を取る:返しNUM要素
のSystem.out.println( "取らRDDは、2つの要素を返す:" + rdd.take(2)) 。

トップ(NUM):戻る前にNUM要素
のSystem.out.printlnを( "戻る抽出RDD最前二つの要素:" + rdd.top(2)) 。


(FUNC)を削減:RDD中のすべてのパラレルデータの統合(最も一般的に使用される)
のSystem.out.println( "RDDは、すべてのデータ(合計)を統合:" + rdd.reduce( (V1、V2) - > V1 + V2)を);

foreachの(FUNC):各要素FUNCの使用
rdd.foreachを(T - > System.out.print(T)の)。


4:制御動作


キャッシュ():

持続():RDDの依存性を保持

チェックポイント(レベル:StorageLevel):RDD [T] RDD切断依存性

いわゆる制御動作は、持続性である
あなたがRDDを永続化する()またはキャッシュ()メソッドを保持することができます。まず、RDDで算出されたアクションで、そして、それは、各ノードのメモリに格納されます。自動的に二重カウントを操作し、元の変換(変換)することによってパーティションを作成することができる任意のRDD、もしパーティション損失-スパーク・キャッシュは、フォールトトレラント技術です。
加えて、我々は、その各々が永続RDDで格納するために、異なるストレージレベルを使用することができます。
各ノードキャッシュの自動監視の使用をスパーク、最近使用した最小の原則を使用して、古いデータを削除します。手動RDDを削除したい場合は、RDD.unpersist()メソッドを使用することができます。
Redisの:私たちは、そのような中で、実際に持続性などのサードパーティのデータを使用することができます

 

投稿者:https://www.cnblogs.com/diaozhaojian/p/9152530.html

RDD、フルネーム弾力性の分散型データセット(弾力性、分散データセット)は、スパークは、データの抽象的で、ほとんどのコアコンセプトスパークです。

RDDは、各操作のみRDDおよびRDDをサポートリードをそれぞれ複数のパーティションに分割され、要素の分散集合であるクラスタの異なるノード上に格納されています。また、RDDはまた、指定されたデータを表示するため、ユーザはRDDプログラムを習得するメモリやディスクに格納されたSPARKの開発の最初のステップであることができます。

 

1:作成(作成操作):RDDが原因であることがSparkContextによって作成されました。
2:変換動作(変形動作):特定の操作を介してRDD互いにがRDDに変換されます。
3:アクション操作(アクション操作):RDDアクションはスパーク実行操作ジョブトリガ用スパーク計算は、不活性である
等の持続性のためにRDD:制御動作(制御動作):4。

 

DEMOコードアドレス:https://github.com/zhp8341/sparkdemo/blob/master/src/main/java/com/demo/spark/rdddemo/OneRDD.java

ワン:操作を作成します。

RDDは、2つの方法で作成した:
1データ・セットを読み出す(SparkContext.textFile()):

JavaDStreamlines = jssc.textFileStream( "/ユーザ/ huipeizhu /ドキュメント/ sparkdata /入力/")。 
JavaReceiverInputDStreamlines = jssc.socketTextStream( "ローカルホスト"、9999)。


2セットを読み出す(SparkContext.parallelize()):

Listlist =は、Arrays.asList(5、4、3、2、1)。
JavaRDDrdd = sc.parallelize(リスト)。

II:変換動作

1:シングル変換動作RDD
マップ()オペレーションの各要素のために、新しいRDD返し
するSystem.out.println( "各素子10によってRDD:" + rdd.map(V -


フィルタ():新しいRDDのほとんどのスクリーニング、適格なリターン要素の各要素
のSystem.out.println( "RDDは、要素1削除:"!+ rdd.filter(V - > V = 1));

flatMap():イテレータのすべての要素が新しいRDDが戻る形成するために返された各要素の動作は、
r.dd.flatMapを(X - > x.to(3 )))(集めます。

別個の():再試行する
のSystem.out.println( "RDD重複排除操作:" + rdd.distinct())と、

RDD最大値と最小値

整数最大= RDD .reduce((V1、V2)  - 数学.MAX(V1、V2))。

整数分= EET .reduce((V1、V2)  - 入力.min(V1、V2))


2:2 RDD変換動作:


[1、2、3] [3、4、5] 2つの単純な相関演算RDD

ユニオン():合計重量ではない
のSystem.out.println( "RDD 2つのコレクション:" + rdd1.union(RDD2).collect ());

交差点():交差点
のSystem.out.println( "一般的な2つの要素のRDDコレクション:" + rdd1.intersection(RDD2).collect ());

デカルト():デカルト積
のSystem.out.println( "デカルト積とRDDのさらなるセット:" + rdd1.cartesian(RDD2).collect ())。

減算():同一のコンテンツ削除
rdd1.subtract(RDD2).collectを()

 

3:アクションの操作


収集():すべての要素を返す
するSystem.out.println( "生データ:" + rdd.collect())。

カウント():要素の数を返します
のSystem.out.println( "すべての要素のRDD統計:" + rdd.countを());

countByValue():回数要素の各々が表示
するSystem.out.println(「各要素が起こり得る回数:」+ rdd.countByValue())。

(NUM)を取る:返しNUM要素
のSystem.out.println( "取らRDDは、2つの要素を返す:" + rdd.take(2)) 。

トップ(NUM):戻る前にNUM要素
のSystem.out.printlnを( "戻る抽出RDD最前二つの要素:" + rdd.top(2)) 。


(FUNC)を削減:RDD中のすべてのパラレルデータの統合(最も一般的に使用される)
のSystem.out.println( "RDDは、すべてのデータ(合計)を統合:" + rdd.reduce( (V1、V2) - > V1 + V2)を);

foreachの(FUNC):各要素FUNCの使用
rdd.foreachを(T - > System.out.print(T)の)。


4:制御動作


キャッシュ():

持続():RDDの依存性を保持

チェックポイント(レベル:StorageLevel):RDD [T] RDD切断依存性

いわゆる制御動作は、持続性である
あなたがRDDを永続化する()またはキャッシュ()メソッドを保持することができます。まず、RDDで算出されたアクションで、そして、それは、各ノードのメモリに格納されます。自動的に二重カウントを操作し、元の変換(変換)することによってパーティションを作成することができる任意のRDD、もしパーティション損失-スパーク・キャッシュは、フォールトトレラント技術です。
加えて、我々は、その各々が永続RDDで格納するために、異なるストレージレベルを使用することができます。
各ノードキャッシュの自動監視の使用をスパーク、最近使用した最小の原則を使用して、古いデータを削除します。手動RDDを削除したい場合は、RDD.unpersist()メソッドを使用することができます。
Redisの:私たちは、そのような中で、実際に持続性などのサードパーティのデータを使用することができます

 

投稿者:https://www.cnblogs.com/diaozhaojian/p/9152530.html

おすすめ

転載: www.cnblogs.com/Allen-rg/p/11366606.html
おすすめ