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の:私たちは、そのような中で、実際に持続性などのサードパーティのデータを使用することができます
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の:私たちは、そのような中で、実際に持続性などのサードパーティのデータを使用することができます