■ はじめに
https://dk521123.hatenablog.com/entry/2019/09/13/212325
の続き。 Apache Spark について調べてみた
目次
【1】Apache Spark 【2】公式サイト 【3】動画 【4】環境設定 【5】関連用語 1)RDD 2)Spark SQL 3)PySpark
【1】Apache Spark
* カリフォルニア大学バークレー校で開発 * プログラム言語:Scala
対応OS
* Windows * MacOS * Linux
サポート言語
* Scala * Java * Python * R
【2】公式サイト
【3】動画
Udacity で以下の動画がある
Spark
https://www.udacity.com/course/learn-spark-at-udacity--ud2002
【4】環境設定
以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2019/09/18/214814
【5】関連用語
1)RDD
* RDD : Resilient Distributed Dataset(=耐障害性分散データセット) cf. Resilient (レジリエンス) : 復元力 * 不変(immutable)で分割されたコレクション * 実行できるメソッドは「変換」と「アクション」の2種類
変換 (Transformations)
* データセットの値を変換するメソッド ex. map(), filter(), groupByKey(), reduceByKey() * 変換処理は、遅延評価 (Lazy evaluation) というコンセプトで実行される => Sparkは、DAGを用いて処理を決める => DAG (Directed Acyclic Graph、有向非巡回グラフ) の詳細は、 以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2019/10/10/223018
【遅延評価の利点】 * 結果として必要なデータだけで計算することにより 大規模データでの計算/IOを必要最低限にする
アクション (Actions)
* データセットをまとめる計算を行うメソッド ex. reduce(), collect(), count(), first()
2)Spark SQL
Spark(RDD:Resilient Distributed Dataset)の操作を SQL(SELECT文)で行う
3)PySpark
Sparkを実行するためのPython API 詳細は、以下の関連記事を参照。
https://dk521123.hatenablog.com/entry/2019/11/14/221126
参考文献
https://mmtomitomimm.blogspot.com/2018/01/jupyterpyspark.html
参考文献
https://www.atmarkit.co.jp/ait/articles/1608/24/news014.html
https://www.atmarkit.co.jp/ait/articles/1608/24/news014_3.html
https://it.impress.co.jp/articles/-/12562
https://yohei-a.hatenablog.jp/entry/20180916/1537085186
関連記事
Apache Spark ~ 環境設定 / Windows編 ~
https://dk521123.hatenablog.com/entry/2019/09/18/214814
PySpark ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2019/11/14/221126
分散処理フレームワーク
https://dk521123.hatenablog.com/entry/2019/09/13/212325
Hadoop ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/09/15/100727
Hive / HiveQL ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2019/11/25/235219
Spark/Scalaの開発環境構築 ~ Windows編 ~
https://dk521123.hatenablog.com/entry/2023/03/20/115450