sql >> データベース >  >> RDS >> Database

Apache Sparkに火をつける–パート2

    御時間ありがとうございます;私は間違いなくあなたを大切にしようとしています。パート1では、Apache Sparkライブラリ、ドライバー、DAGスケジューラ、タスクスケジューラ、ワーカーなどのSparkコンポーネントについて説明しました。パート2では、復元力のある分散データセット、共有変数、SparkContext、変換、アクション、Sparkを使用する利点などのSparkの概念の基本と、Sparkを使用するタイミングについて説明します。

    RDD –復元力のある分散データセット

    これらはシリアル化可能な要素のコレクションであり、そのようなコレクションはパーティション化されている場合があります。その場合、複数のノードに格納されます。

    メモリまたはディスクに存在する可能性があります。

    SparkはRDDを使用して、I / Oを削減し、処理されたデータをメモリに保持します

    RDDはノード障害の許容に役立ち、プロセス全体またはコンピューティングを再起動する必要はありません

    通常、Hadoop入力形式から、または既存のRDDに適用された変換から作成されます。

    RDDはそのデータ系統を保存します。データが失われた場合、Sparkは系統を再生して、失われたRDDを再構築します。

    RDDは不変です。

    共有変数

    Sparkには、実行ノード間で情報を共有できる2種類の変数があります。

    2つの変数は、ブロードキャスト変数とアキュムレータ変数です。

    MapReduce構成オブジェクトと同様に、ブロードキャスト変数はすべてリモート実行ノードに送信されます。

    アキュムレータはすべてリモート実行ノードにも送信されますが、MapReduceカウンターと同様に、アキュムレータ変数にのみ追加できるという制限があります。

    スパークコンテキスト

    これは、Sparkクラスターへの接続を表すオブジェクトです。

    RDDの作成、データのブロードキャスト、およびアキュムレータの初期化に使用されます。

    変換

    1つのRDDを受け取り、別のRDDを返す関数です。

    変換は入力を変更せず、変更されたRDDのみを返します。

    常に怠惰なので、結果を計算しません。変換関数を呼び出す代わりに、新しいRDDを作成するだけです。

    上記の変換のすべてのセットは、アクションが呼び出されたときに実行されます。

    Sparkには多くの変換があります– map()、filter()、KeyBy()、Join()、groupByKey()、sort()。

    アクション

    アクションは、RDDを取得して計算を実行し、結果をドライバーアプリケーションに返すメソッドです。

    アクションは変換の計算をトリガーし、結果はコレクション、画面への値、ファイルに保存された値になります。

    アクションがRDDを返すことはありません。

    メリット

    • シンプルさ
    • 汎用性
    • ディスクI/Oの削減
    • ストレージ
    • 多言語
    • リソースマネージャーの独立性
    • インタラクティブシェル(REPL)

    Sparkは、他のビッグデータツールと同様に、強力で機能があり、さまざまな分析やビッグデータの課題に取り組むのに適しています。

    この記事はもともとここに掲載されていました。許可を得て再発行。ここに著作権に関する苦情を提出してください。


    1. MySQL5.1からメールを送信する方法

    2. 初心者向けSQLMAX()

    3. PostgreSQLの根性:「resjunk」とは何ですか?

    4. データは、sqliteのすべてのテーブルではなく、特定のテーブルの日付から入力されます