Apache Sparkには、以下の高度なライブラリが含まれており、別途インストールせずに利用できます。
これらのライブラリをシームレスに組み合わせて、アプリケーションを構築できます。
Spark SQLは構造化データを扱うための機能を提供します。
Spark SQLを使用すると、SQLまたはDataFrame APIを使用して、Sparkプログラム内で構造化データをクエリできます。
さまざまなデータソースにアクセスするための共通の方法を提供し、これらのソース間でのデータ結合も可能です。
・Hive---Hiveデータウェアハウス
・ORC
・JSON
・ODBC
・JDBC など
Spark SQLは「コストベースオプティマイザ」「カラム型ストレージ」「コード生成」などの機能により、高速にクエリを実行できます。
Sparkエンジンを使用して「数千ノード」と「数時間に及ぶクエリ」に拡張可能で、クエリ途中でのフォールトトレランスを実現しています。
MLlibはApache Sparkのスケーラブルな機械学習ライブラリです。
Hadoopワークフローに簡単にプラグインできます。
MLlibはMapReduceよりも100倍高速に処理できます。
MLlibには多くのアルゴリズムが含まれています。
・分類---ロジスティック回帰、単純ベイズ
・回帰---一般化線形回帰、生存回帰
・デシジョンツリー、ランダムフォレスト
・クラスタリング---K平均、ガウス混合(GMM)
・トピックモデリング---潜在的ディリクレ配分(LDA) など
各種ユーティリティも用意されています。
・特徴変換---標準化、正規化、ハッシング
・MLパイプライン建設
・モデル評価とハイパーパラメータチューニング
・MLの永続性---モデルとパイプラインの保存と読み込み など
→Apache Spark →Machine Learning Library (MLlib) Guide
GraphXは、グラフおよびグラフ並列計算用のApache Spark APIです。
GraphXは「ETL」「探索的分析」「反復グラフ計算」を単一システム内に統合します。
GraphXは、最速の特殊グラフ処理システムに匹敵する処理性能を提供します。
GraphXにはさまざまなグラフアルゴリズムが付属しています。
・PageRank
・接続コンポーネント
・ラベル伝播
・SVD ++
・強連結コンポーネント
・トライアングルカウント など
Spark Streamingを使用すると、スケーラブルなフォールトトレラントストリーミングアプリケーションを簡単に構築できます。
→Apache Spark →Spark Streaming
Spark Streamingは、Apache Sparkの言語統合APIをストリーム処理に利用できるため、バッチジョブ記述と同じ方法でストリーミングジョブを記述できます。
「Java」「Scala」「Python」をサポートしています。
Spark Streamingは「HDFS」「Flume」「Kafka」「Twitter」「ZeroMQ」などからデータを読み込むことができます。
また、独自カスタムデータソースも定義できます。
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
オープンソースのビッグデータ処理ソフトウエア「Apache Spark」をディープラーニング(深層学習)対応させる動きが活発化している点について解説。 【Apache Sparkとは】 インメモリ高速分散処理プラットフォーム https://www.ossnews.jp/oss_info/Apache_Spark 【テーマ】 ・SQLクエリーで深層学習 ・様々なSparkアプリ...
OSS×Cloud ACCESS RANKING