SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ゼロからはじめるSparkアプリケーション入門

Sparkアプリケーションの基本と、はじめに押さえておきたい重要な概念

ゼロからはじめるSparkアプリケーション入門(1)


reduceByKey処理と遅延評価

 最後にreduceByKeyのアクション処理を行う部分です。作成したRDD[temp]に対してreduceByKeyを行い、値を集計しています。

 RDDにアクション処理を実行すると、DAGの依存関係を遡って実際の処理が行われます。この時に初めてディスク上のファイルが読み込まれ、依存関係に従って実際の処理が行われます。

 DAGとしてRDDに対する変換操作のみを記録しておき、実際にデータ処理を行う際にメモリ上で実際の処理を行うこの仕組みを遅延評価と呼びます。

 下記は遅延評価のイメージです。

 Sparkでは遅延評価を行うことで不要なデータがメモリ上に極力乗らないような工夫がされています。

 また、詳細は別の回で取り上げますが、DAGにRDDの処理の流れを記録しておくことで、障害時にも依存関係をさかのぼってRDDを作成できるようになり、耐障害性も確保しています。

まとめ

 今回、Sparkのローカルの環境を作成し、CSVを使った簡単なSparkのプログラミングを行いました。また、RDD、DAG、遅延評価といったSparkの重要な概念についても簡単にではありますが説明を行いました。Sparkのその他の概念についても折に触れていきたいと思っています。

 Sparkのプログラミング部分に着目ということで、次回はSparkSQL、SparkStreaming、MLlib、GraphXなど、Sparkの各コンポーネントを使ったプログラミングを行いたいと思います。

【PR】

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
ゼロからはじめるSparkアプリケーション入門連載記事一覧
この記事の著者

田中 裕一(日本アイ・ビー・エム株式会社)(タナカ ユウイチ)

Web系・広告系企業にて、Hadoop/Spark/Kafka等Hadoopエコシステムを利用した広告システム(DMP)・行動分析基盤・レコメンド基盤の全体アーキテクチャ設計やプログラミング、最適化、行動解析を担当。Spark/Hadoopエコシステムを筆頭にOSSを組み合わせた大規模なアーキテクチ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9347 2016/07/04 13:54

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー