SlideShare a Scribd company logo
1 of 35
Copyright © 2015 NTT DATA Corporation
NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
猿田 浩輔
Apache Spark超入門
2016/02/08
Hadoop / Spark Conference Japan 2016
Copyright © 2015 NTT DATA Corporation 2
わたしのこと
 氏名/所属
 猿田 浩輔(さるた こうすけ)
 基盤システム事業本部 OSSプロフェッショナルサービス
 Apache Sparkコミッタ
 何をしている人?
 OSSを活用したR&Dやシステム開発、テクニカルサポートに携わっています
 7年ほどHadoop関連のR&Dやシステム開発に関わってきました
 Hadoopだけでは解決が難しい問題領域にアプローチするプロダクトとして、近年
Sparkにも手を出し始めました
Copyright © 2015 NTT DATA Corporation 3
 Apache Sparkとは?
 オープンソースの並列分散処理系
 並列分散処理の面倒な部分は処理系が解決してくれる
 障害時のリカバリ
 タスクの分割やスケジューリング
 etc
Apache Sparkとは
大量のデータを たくさんのサーバを並べて
並列分散処理し、
現実的な時間(数分~数時間)で
目的の処理結果を得る
Copyright © 2015 NTT DATA Corporation 4
 Apache Sparkとは?
 オープンソースの並列分散処理系
 並列分散処理の面倒な部分は処理系が解決してくれる
 障害時のリカバリ
 タスクの分割やスケジューリング
 etc
Apache Sparkとは
大量のデータを たくさんのサーバを並べて
並列分散処理し、
現実的な時間(数分~数時間)で
目的の処理結果を得る
なぜSparkが生まれたのか?
 オープンソースの並列分散処理系としては、
既にApache Hadoopが普及している
 Hadoopの特徴をおさらいし、Sparkが生まれ
た背景を紐解く
Copyright © 2015 NTT DATA Corporation 5
Apache Hadoopってどんなものだっけ?
 コモディティなサーバを複数並べて分散処理
 3つのコンポーネントで構成
分散ファイルシステム
HDFS
クラスタ管理基盤
YARN
並列分散処理フレームワーク
MapReduceフレームワーク
大量のデータを
貯める機能を提供
貯めたデータを処理
する機能を提供
クラスタの計算リソース
を管理する機能を提供
Copyright © 2015 NTT DATA Corporation 6
Apache Hadoopってどんなものだっけ?
 コモディティなサーバを複数並べて分散処理
 3つのコンポーネントで構成
分散ファイルシステム
HDFS
クラスタ管理基盤
YARN
並列分散処理フレームワーク
MapReduceフレームワーク
大量のデータを
貯める機能を提供
貯めたデータを処理
する機能を提供
クラスタの計算リソース
を管理する機能を提供
Copyright © 2015 NTT DATA Corporation 7
 並列分散処理を簡単に実行してくれる仕組み
 アプリ開発者はMap処理とReduce処理を実装する(原則Java)
 実装されたMap処理とReduce処理を元にフレームワークが分散
処理する。障害発生時もリトライで処理が継続する。
 基本的にサーバを増やせば処理性能はスケールアウトする
MapReduceフレームワークとは
Map処理 Reduce処理
Map処理とReduce処理で完結したジョブを形成する
データの加工や
フィルタリングなど
データの集計や
結合など
HDFS
HDFSと組み合わせるこ
とで、I/Oが分散され、高
スループットで処理可能
HDFS
処理結果処理対象のデータ
Copyright © 2015 NTT DATA Corporation 8
MapReduceフレームワークの課題
 Hadoopが普及するにつれて、次のような場合の
MapReduceフレームワークの処理効率が課題になってきた
① ジョブが多段に構成される場合
② 複数のジョブで何度も同じデータを利用する場合
M R
Map処理 Reduce処理
M R M R ・・・
・・・
・・・
ジョブ
M R
M R
データの受け渡し
Copyright © 2015 NTT DATA Corporation 9
MapReduceフレームワークの課題
 Hadoopが普及するにつれて、次のような場合の
MapReduceフレームワークの処理効率が課題になってきた
① ジョブが多段に構成される場合
② 複数のジョブで何度も同じデータを利用する場合
M R
Map処理 Reduce処理
M R M R ・・・
・・・
・・・
 反復処理
• 機械学習
• グラフ処理
 複雑な業務処理
 アドホックな分析処理
 複雑な業務処理
Copyright © 2015 NTT DATA Corporation 10
ジョブが多段に構成される場合の課題
 ジョブ間でのデータの受け渡しのために、都度HDFSへのI/Oが発生
 HDFSへの都度のI/Oのレイテンシが、処理時間の大部分を占めること
につながる
M R
Map処理 Reduce処理
M R M R ・・・
ジョブ
HDFS
IO IOIO IO
ジョブ間のデータの受け渡しのたびに、HDFSへのI/Oが伴う
Copyright © 2015 NTT DATA Corporation 11
複数のジョブで何度も同じデータを利用する場合の課題
何度も利用するデータを効率的に扱う仕組みがないため、同じデータを利用する
場合に都度巨大なデータの読み出しのための待ち時間が発生する
・・・
・・・
M R
M R
・・・M R
・・・M R
HDFS
ジョブごとに大きな
データの読み込みの
待ち時間がかかる
Copyright © 2015 NTT DATA Corporation 12
 MapReduceフレームワークが苦手としていた、スループットとレイ
テンシの両立が必要な領域にアプローチする
 Hadoop同様、大量のIAサーバを束ねて大規模なデータに対して
分散処理を行う
 RDDと呼ばれる部分故障への耐性を考慮した分散コレクションに対し、
典型的なデータ処理を繰り返して目的の結果を得る処理モデル
 ジョブに含まれる処理が定型化されておらず、様々な処理を組み
合わせられる
改めてApache Sparkとは
最新安定バージョンは1.6.0。現在2.0.0のリリースに向けて開発中
RDD RDD RDDRDD
ユーザ定義の
処理の流れ
フォーマット変換 グルーピング フィルター 集計入力
Copyright © 2015 NTT DATA Corporation 13
 複雑な処理を少ないジョブ数で実現できる
RDD RDD RDDRDD
RDD RDD
Sparkジョブ 中間データを都度出力する必要がないため、
I/Oはジョブの入力と出力だけに抑えられる
高スループットと低レイテンシを両立する工夫
HDFS
複雑な処理においてジョブが多段になることが少ないため、
ジョブ間のデータの受け渡しに伴うI/Oは最小限に抑えられる
IO
IO
IO
RDDの加工
Copyright © 2015 NTT DATA Corporation 14
 何度も利用するRDDは、複数のサーバのメモリに分割してキャッ
シュできる
高スループットと低レイテンシを両立する工夫
RDDRDD
ジョブA
RDD
HDFS
RDD
ジョブBはジョブAがキャッシュ
したデータを利用できる
RDD RDD RDD
ジョブB
キャッシュを活用することで、同じデータを利用する場合でも、
都度データを読み込む必要がない
キャッシュ済みのRDD
キャッシュを利用できるので、
HDFSからのデータの読み込
みは発生しない
Copyright © 2015 NTT DATA Corporation 15
高スループットと低レイテンシを両立する工夫
 キャッシュは反復処理にも有効
RDD RDD RDD
前段の反復処理の結果を
入力とするジョブ キャッシュ済みのRDD
2回目の反復以降は、
キャッシュしたRDDを
処理すれば良い。HDFS
最初の反復のみ、
HDFSからデータ
を読み出す
Copyright © 2015 NTT DATA Corporation 16
Sparkはインターフェイスも優れている
 RDDに対する処理は、配列やリストなどのコレクションの
ように記述できる
 並列分散処理を強く意識しなくても処理が記述できる
 Scala / Java / Python向けのAPIが提供されている
 インタラクティブシェルが「試行錯誤」を加速する
 都度のビルドが不要なため、ロジックの試作から効果の確
認のサイクルを高速化できる
// 例
val rdd = sc.textFile(...) // HDFSなどのストレージから
//ファイルの内容をRDDにロード
rdd.filter(...).map(...).reduceByKey(...).saveAsText(...)
フィルタして 加工して 集計して 結果を保存
Copyright © 2015 NTT DATA Corporation 17
データソース(HDFSなど)
Sparkの全体像
• Scala/Java/Pythonで処
理が記述できる
• インタラクティブシェルが
付属し、試行錯誤も可能
http://cdn.oreillystatic.com/en/assets/1/event/126/Apache%20Spark_%20What_s%20new_%20what_s%20coming%20Presentation.pdf
分散処理基盤を扱いや
すくする便利なエコシス
テムが付属している
• YARNなどのクラスタ管理基盤と連係動作する
• データソースの分散ファイルシステムにはHDFSも利用可能
 従来MapReduceで実装していた処理をSparkにマイグレーションしやすい
分散処理エンジンを含むコア部分
Copyright © 2015 NTT DATA Corporation 18
 SQLやHiveQLで分散処理を記述するためのライブラリ
 RDDの上に成り立つスキーマ付きのテーブル状のデータ構造「DataFrame」
に対してSQL/HiveQLを発行することで分散処理を実現可能
 SQLを使い慣れたデータ分析者担当者が分散処理の恩恵を受けられる
Spark SQL
Copyright © 2015 NTT DATA Corporation 19
 DataFrameに対するクエリから、オプティマイザによってRDDベー
スの処理の物理プランが生成される
 構造化データを扱いやすい
 Parquet / ORC / CSV / JSON / テキスト / JDBC ...
 データソースによってはフィルタ処理をデータソース側に移譲することで、
無駄なデータの読み込みを避けられる
Spark SQL
http://cdn.oreillystatic.com/en/assets/1/event/126/Apache%20Spark_%20What_s%20new_%20what_s%20coming%20Presentation.pdf
オペレータの実行順
序の最適化など
データソースの特性を
活用した最適化など
Copyright © 2015 NTT DATA Corporation 20
MLlib / ML Pipelines
 機械学習を分散処理するためのライブラリ
 レコメンデーション / 分類 / 予測などに最適
 ポピュラーなアルゴリズムがカバーされている
 バージョンアップのたびに、カバーされるアルゴリズムが
増えている
(一例)
Copyright © 2015 NTT DATA Corporation 21
MLlib / ML Pipelines
 昨今はML Pipelinesの開発が活発
 学習/最適化アルゴリズムなどのパーツだけではなく、Scikit-Learnのような機
械学習全体のパイプラインをサポートするAPIが提供されている
val tokenizer = new Tokenizer()
.setInputCol("text")
.setOutputCol("words")
val hashingTF = new HashingTF()
.setNumFeatures(1000)
.setInputCol(tokenizer.getOutputCol)
.setOutputCol("features")
val lr = new LogisticRegression()
.setMaxIter(10)
.setRegParam(0.01)
// パイプラインにトークン分割、ハッシュ化、処理とロジスティック回帰を設定
val pipeline = new Pipeline().setStages(Array(tokenizer, hashingTF, lr))
val model = pipeline.fit(trainingDataset) // モデルの当てはめ
Copyright © 2015 NTT DATA Corporation 22
Spark Streaming
 小さなバッチ処理を繰り返してストリーミング処理を実現
http://spark.incubator.apache.org/docs/latest/streaming-programming-guide.html
KafkaやFlumeな
どから途切れな
く流入するデータ
を処理する
流入するデータを数10ミリ秒 - 数秒単位で区切った塊(バッチ)
に対してマイクロバッチ処理を適用する処理を繰り返す。
Copyright © 2015 NTT DATA Corporation 23
イマドキのSpark
24Copyright © 2015 NTT DATA Corporation
フロントエンドとバックエンドの進化
[フロントエンド]
RDDを中心とした処理系から、DataFrameを中
心とした処理系へ
[バックエンド]
CPU利用効率の改善 - Project Tungsten –
イマドキのSpark
25Copyright © 2015 NTT DATA Corporation
フロントエンドとバックエンドの進化
[フロントエンド]
RDDを中心とした処理系から、DataFrameを中
心とした処理系へ
[バックエンド]
CPU利用効率の改善 - Project Tungsten –
イマドキのSpark - DataFrame中心の処理系へ-
26Copyright © 2015 NTT DATA Corporation
 ある程度の規模の処理をRDDベースの処理で組み立てると
 見通しが悪い
 人手での最適化が難しい
 RDDベースの処理の場合、言語によってバックエンドの処理系が異なるため、
言語によってパフォーマンスが異なる
RDDベースの処理の課題
Copyright © 2015 NTT DATA Corporation 27
DataFrame API
 DataFrameに対してSQLを発行できるだけではなく、DataFrame
APIと呼ばれるデータ処理用のAPIが提供されている
 (Scala/Python/Java/R)
 構造化されたデータの処理が簡潔に記述できる
http://cdn.oreillystatic.com/en/assets/1/event/126/Apache%20Spark_%20What_s%20new_%20what_s%20coming%20Presentation.pdf
DataFrame APIで
同様の処理を記述
Copyright © 2015 NTT DATA Corporation 28
DataFrame API
 Spark SQLのオプティマイザの恩恵が受けられる
 オプティマイザによってJVMで動作する物理プランが生成されるた
め、開発言語の違いによる著しい性能劣化は起こらない
http://www.slideshare.net/databricks/introducing-dataframes-in-spark-for-large-scale-data-science
Copyright © 2015 NTT DATA Corporation 29
2015年からのトレンド
[フロントエンド]
RDDを中心とした処理系から、DataFrameを中
心とした処理系への進化
[バックエンド]
CPU利用効率の改善 - Project Tungsten -
イマドキのSpark - Project Tungsten -
Copyright © 2015 NTT DATA Corporation 30
様々な要因により、ボトルネックのトレンドがCPUに
 Spark自体のアーキテクチャの改良
I/O効率の良いシャッフルロジック(ソートベースシャッフル)
ネットワーク越しにデータを転送する際のメモリコピー回数の削
減(Netty)
 DataFrameをベースとした処理の最適化
I/Oの削減
処理の最適化
 昨今のハードウェアトレンドの変化
SSDや高スループットのネットワークが安価になってきた
一方でCPUのクロック数は頭打ち
Copyright © 2015 NTT DATA Corporation 31
Project Tungsten
 SparkのCPU利用効率を改善
① 独自のメモリ管理
メモリ利用効率の向上
無駄な中間オブジェクト生成の回避
GCの削減
② キャッシュアウェアなデータレイアウト
メモリアクセスの待ち時間の削減
③ コードの動的生成
条件分岐の削減
ボクシング / アンボクシングによるオブジェクト生成の削減
バーチャルメソッドコールの回数の削減
Copyright © 2015 NTT DATA Corporation 32
Project Tungsten
Project Tungsten(SPARK-7075)
特に性能にセンシティブな部分の独自のメモリ管理
•メモリ利用効率の向上
•無駄な中間オブジェクト生成の回避
•GCの削減
キャッシュアウェアなデータレイアウト
モダンなCPUを活用できるコードの動的生成
Project Tungstenについてより詳しい情
報は、以下のセッションで確認できます
 Reynold Xin
Deep Dive into Project Tungsten
(C会場 15:15~)
Copyright © 2015 NTT DATA Corporation 33
まとめ
 SparkはMapReduceフレームワークが苦手としていた、スループットとレイテン
シの両立を狙った並列分散処理系
 複雑な処理を実行する場合も中間データを都度HDFSに出力せず、I/Oのコスト
を抑えられる
 何度も利用するデータはキャッシュできる
 Sparkはインターフェイスも優れている
 配列やリストのようなコレクションのように処理を記述できる
 インタラクティブシェルが試行錯誤を加速する
 エコシステムが充実している
 SQL / 機械学習 / ストリーム処理 / グラフ処理
 現在はフロントエンドとバックエンドで進化が始まっている
 DataFrameを中心とした処理系
 Project TungstenによるCPU利用効率の改善
Copyright © 2015 NTT DATA Corporation 34
Hadoop/Sparkのことなら、NTTデータにお任せください
お問い合わせ先:
株式会社NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
URL: http://oss.nttdata.co.jp/hadoop
メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496
Copyright © 2011 NTT DATA Corporation
Copyright © 2015 NTT DATA Corporation

More Related Content

What's hot

Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)NTT DATA Technology & Innovation
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較Yoshiyasu SAEKI
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返りSotaro Kimura
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxotato
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...NTT DATA Technology & Innovation
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonightAmazon Web Services Japan
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門Satoru Ishikawa
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 

What's hot (20)

Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
 
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
[CTO Night & Day 2019] AWS で構築するデータレイク基盤と amazon.com での導入事例 #ctonight
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 

Viewers also liked

Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントCloudera Japan
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介masataka nishimori
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズYusuke Naka
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJun-ya Norimatsu
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~nlab_utokyo
 

Viewers also liked (9)

Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
Jupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep LearningJupyter NotebookとChainerで楽々Deep Learning
Jupyter NotebookとChainerで楽々Deep Learning
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 

Similar to Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)

大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...NTT DATA Technology & Innovation
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのsparkRyuji Tamagawa
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...NTT DATA Technology & Innovation
 
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...Insight Technology, Inc.
 
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...DataWorks Summit/Hadoop Summit
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)NTT DATA OSS Professional Services
 
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Hadoop / Spark Conference Japan
 
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
Oracle Cloud Platform - クラクドにおける新たなデータベース開発Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発オラクルエンジニア通信
 
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]オラクルエンジニア通信
 
Spark on sql server?
Spark on sql server?Spark on sql server?
Spark on sql server?Oda Shinsuke
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo FallYusukeKuramata
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...Insight Technology, Inc.
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTT DATA OSS Professional Services
 
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksqlMitsutoshi Kiuchi
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC EnterpriseYusukeKuramata
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006Cloudera Japan
 

Similar to Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料) (20)

大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
 
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
 
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
分散処理基盤ApacheHadoop入門とHadoopエコシステムの最新技術動向(OSC2015 Kansai発表資料)
 
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
 
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
Oracle Cloud Platform - クラクドにおける新たなデータベース開発Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
 
Spark on sql server?
Spark on sql server?Spark on sql server?
Spark on sql server?
 
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fallビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
ビッグデータ活用を加速する!分散SQLエンジン Spark SQL のご紹介 20161105 OSC Tokyo Fall
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
 
0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所
 
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
 
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
 

More from NTT DATA OSS Professional Services

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力NTT DATA OSS Professional Services
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~NTT DATA OSS Professional Services
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)NTT DATA OSS Professional Services
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)NTT DATA OSS Professional Services
 

More from NTT DATA OSS Professional Services (20)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)

  • 1. Copyright © 2015 NTT DATA Corporation NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス 猿田 浩輔 Apache Spark超入門 2016/02/08 Hadoop / Spark Conference Japan 2016
  • 2. Copyright © 2015 NTT DATA Corporation 2 わたしのこと  氏名/所属  猿田 浩輔(さるた こうすけ)  基盤システム事業本部 OSSプロフェッショナルサービス  Apache Sparkコミッタ  何をしている人?  OSSを活用したR&Dやシステム開発、テクニカルサポートに携わっています  7年ほどHadoop関連のR&Dやシステム開発に関わってきました  Hadoopだけでは解決が難しい問題領域にアプローチするプロダクトとして、近年 Sparkにも手を出し始めました
  • 3. Copyright © 2015 NTT DATA Corporation 3  Apache Sparkとは?  オープンソースの並列分散処理系  並列分散処理の面倒な部分は処理系が解決してくれる  障害時のリカバリ  タスクの分割やスケジューリング  etc Apache Sparkとは 大量のデータを たくさんのサーバを並べて 並列分散処理し、 現実的な時間(数分~数時間)で 目的の処理結果を得る
  • 4. Copyright © 2015 NTT DATA Corporation 4  Apache Sparkとは?  オープンソースの並列分散処理系  並列分散処理の面倒な部分は処理系が解決してくれる  障害時のリカバリ  タスクの分割やスケジューリング  etc Apache Sparkとは 大量のデータを たくさんのサーバを並べて 並列分散処理し、 現実的な時間(数分~数時間)で 目的の処理結果を得る なぜSparkが生まれたのか?  オープンソースの並列分散処理系としては、 既にApache Hadoopが普及している  Hadoopの特徴をおさらいし、Sparkが生まれ た背景を紐解く
  • 5. Copyright © 2015 NTT DATA Corporation 5 Apache Hadoopってどんなものだっけ?  コモディティなサーバを複数並べて分散処理  3つのコンポーネントで構成 分散ファイルシステム HDFS クラスタ管理基盤 YARN 並列分散処理フレームワーク MapReduceフレームワーク 大量のデータを 貯める機能を提供 貯めたデータを処理 する機能を提供 クラスタの計算リソース を管理する機能を提供
  • 6. Copyright © 2015 NTT DATA Corporation 6 Apache Hadoopってどんなものだっけ?  コモディティなサーバを複数並べて分散処理  3つのコンポーネントで構成 分散ファイルシステム HDFS クラスタ管理基盤 YARN 並列分散処理フレームワーク MapReduceフレームワーク 大量のデータを 貯める機能を提供 貯めたデータを処理 する機能を提供 クラスタの計算リソース を管理する機能を提供
  • 7. Copyright © 2015 NTT DATA Corporation 7  並列分散処理を簡単に実行してくれる仕組み  アプリ開発者はMap処理とReduce処理を実装する(原則Java)  実装されたMap処理とReduce処理を元にフレームワークが分散 処理する。障害発生時もリトライで処理が継続する。  基本的にサーバを増やせば処理性能はスケールアウトする MapReduceフレームワークとは Map処理 Reduce処理 Map処理とReduce処理で完結したジョブを形成する データの加工や フィルタリングなど データの集計や 結合など HDFS HDFSと組み合わせるこ とで、I/Oが分散され、高 スループットで処理可能 HDFS 処理結果処理対象のデータ
  • 8. Copyright © 2015 NTT DATA Corporation 8 MapReduceフレームワークの課題  Hadoopが普及するにつれて、次のような場合の MapReduceフレームワークの処理効率が課題になってきた ① ジョブが多段に構成される場合 ② 複数のジョブで何度も同じデータを利用する場合 M R Map処理 Reduce処理 M R M R ・・・ ・・・ ・・・ ジョブ M R M R データの受け渡し
  • 9. Copyright © 2015 NTT DATA Corporation 9 MapReduceフレームワークの課題  Hadoopが普及するにつれて、次のような場合の MapReduceフレームワークの処理効率が課題になってきた ① ジョブが多段に構成される場合 ② 複数のジョブで何度も同じデータを利用する場合 M R Map処理 Reduce処理 M R M R ・・・ ・・・ ・・・  反復処理 • 機械学習 • グラフ処理  複雑な業務処理  アドホックな分析処理  複雑な業務処理
  • 10. Copyright © 2015 NTT DATA Corporation 10 ジョブが多段に構成される場合の課題  ジョブ間でのデータの受け渡しのために、都度HDFSへのI/Oが発生  HDFSへの都度のI/Oのレイテンシが、処理時間の大部分を占めること につながる M R Map処理 Reduce処理 M R M R ・・・ ジョブ HDFS IO IOIO IO ジョブ間のデータの受け渡しのたびに、HDFSへのI/Oが伴う
  • 11. Copyright © 2015 NTT DATA Corporation 11 複数のジョブで何度も同じデータを利用する場合の課題 何度も利用するデータを効率的に扱う仕組みがないため、同じデータを利用する 場合に都度巨大なデータの読み出しのための待ち時間が発生する ・・・ ・・・ M R M R ・・・M R ・・・M R HDFS ジョブごとに大きな データの読み込みの 待ち時間がかかる
  • 12. Copyright © 2015 NTT DATA Corporation 12  MapReduceフレームワークが苦手としていた、スループットとレイ テンシの両立が必要な領域にアプローチする  Hadoop同様、大量のIAサーバを束ねて大規模なデータに対して 分散処理を行う  RDDと呼ばれる部分故障への耐性を考慮した分散コレクションに対し、 典型的なデータ処理を繰り返して目的の結果を得る処理モデル  ジョブに含まれる処理が定型化されておらず、様々な処理を組み 合わせられる 改めてApache Sparkとは 最新安定バージョンは1.6.0。現在2.0.0のリリースに向けて開発中 RDD RDD RDDRDD ユーザ定義の 処理の流れ フォーマット変換 グルーピング フィルター 集計入力
  • 13. Copyright © 2015 NTT DATA Corporation 13  複雑な処理を少ないジョブ数で実現できる RDD RDD RDDRDD RDD RDD Sparkジョブ 中間データを都度出力する必要がないため、 I/Oはジョブの入力と出力だけに抑えられる 高スループットと低レイテンシを両立する工夫 HDFS 複雑な処理においてジョブが多段になることが少ないため、 ジョブ間のデータの受け渡しに伴うI/Oは最小限に抑えられる IO IO IO RDDの加工
  • 14. Copyright © 2015 NTT DATA Corporation 14  何度も利用するRDDは、複数のサーバのメモリに分割してキャッ シュできる 高スループットと低レイテンシを両立する工夫 RDDRDD ジョブA RDD HDFS RDD ジョブBはジョブAがキャッシュ したデータを利用できる RDD RDD RDD ジョブB キャッシュを活用することで、同じデータを利用する場合でも、 都度データを読み込む必要がない キャッシュ済みのRDD キャッシュを利用できるので、 HDFSからのデータの読み込 みは発生しない
  • 15. Copyright © 2015 NTT DATA Corporation 15 高スループットと低レイテンシを両立する工夫  キャッシュは反復処理にも有効 RDD RDD RDD 前段の反復処理の結果を 入力とするジョブ キャッシュ済みのRDD 2回目の反復以降は、 キャッシュしたRDDを 処理すれば良い。HDFS 最初の反復のみ、 HDFSからデータ を読み出す
  • 16. Copyright © 2015 NTT DATA Corporation 16 Sparkはインターフェイスも優れている  RDDに対する処理は、配列やリストなどのコレクションの ように記述できる  並列分散処理を強く意識しなくても処理が記述できる  Scala / Java / Python向けのAPIが提供されている  インタラクティブシェルが「試行錯誤」を加速する  都度のビルドが不要なため、ロジックの試作から効果の確 認のサイクルを高速化できる // 例 val rdd = sc.textFile(...) // HDFSなどのストレージから //ファイルの内容をRDDにロード rdd.filter(...).map(...).reduceByKey(...).saveAsText(...) フィルタして 加工して 集計して 結果を保存
  • 17. Copyright © 2015 NTT DATA Corporation 17 データソース(HDFSなど) Sparkの全体像 • Scala/Java/Pythonで処 理が記述できる • インタラクティブシェルが 付属し、試行錯誤も可能 http://cdn.oreillystatic.com/en/assets/1/event/126/Apache%20Spark_%20What_s%20new_%20what_s%20coming%20Presentation.pdf 分散処理基盤を扱いや すくする便利なエコシス テムが付属している • YARNなどのクラスタ管理基盤と連係動作する • データソースの分散ファイルシステムにはHDFSも利用可能  従来MapReduceで実装していた処理をSparkにマイグレーションしやすい 分散処理エンジンを含むコア部分
  • 18. Copyright © 2015 NTT DATA Corporation 18  SQLやHiveQLで分散処理を記述するためのライブラリ  RDDの上に成り立つスキーマ付きのテーブル状のデータ構造「DataFrame」 に対してSQL/HiveQLを発行することで分散処理を実現可能  SQLを使い慣れたデータ分析者担当者が分散処理の恩恵を受けられる Spark SQL
  • 19. Copyright © 2015 NTT DATA Corporation 19  DataFrameに対するクエリから、オプティマイザによってRDDベー スの処理の物理プランが生成される  構造化データを扱いやすい  Parquet / ORC / CSV / JSON / テキスト / JDBC ...  データソースによってはフィルタ処理をデータソース側に移譲することで、 無駄なデータの読み込みを避けられる Spark SQL http://cdn.oreillystatic.com/en/assets/1/event/126/Apache%20Spark_%20What_s%20new_%20what_s%20coming%20Presentation.pdf オペレータの実行順 序の最適化など データソースの特性を 活用した最適化など
  • 20. Copyright © 2015 NTT DATA Corporation 20 MLlib / ML Pipelines  機械学習を分散処理するためのライブラリ  レコメンデーション / 分類 / 予測などに最適  ポピュラーなアルゴリズムがカバーされている  バージョンアップのたびに、カバーされるアルゴリズムが 増えている (一例)
  • 21. Copyright © 2015 NTT DATA Corporation 21 MLlib / ML Pipelines  昨今はML Pipelinesの開発が活発  学習/最適化アルゴリズムなどのパーツだけではなく、Scikit-Learnのような機 械学習全体のパイプラインをサポートするAPIが提供されている val tokenizer = new Tokenizer() .setInputCol("text") .setOutputCol("words") val hashingTF = new HashingTF() .setNumFeatures(1000) .setInputCol(tokenizer.getOutputCol) .setOutputCol("features") val lr = new LogisticRegression() .setMaxIter(10) .setRegParam(0.01) // パイプラインにトークン分割、ハッシュ化、処理とロジスティック回帰を設定 val pipeline = new Pipeline().setStages(Array(tokenizer, hashingTF, lr)) val model = pipeline.fit(trainingDataset) // モデルの当てはめ
  • 22. Copyright © 2015 NTT DATA Corporation 22 Spark Streaming  小さなバッチ処理を繰り返してストリーミング処理を実現 http://spark.incubator.apache.org/docs/latest/streaming-programming-guide.html KafkaやFlumeな どから途切れな く流入するデータ を処理する 流入するデータを数10ミリ秒 - 数秒単位で区切った塊(バッチ) に対してマイクロバッチ処理を適用する処理を繰り返す。
  • 23. Copyright © 2015 NTT DATA Corporation 23 イマドキのSpark
  • 24. 24Copyright © 2015 NTT DATA Corporation フロントエンドとバックエンドの進化 [フロントエンド] RDDを中心とした処理系から、DataFrameを中 心とした処理系へ [バックエンド] CPU利用効率の改善 - Project Tungsten – イマドキのSpark
  • 25. 25Copyright © 2015 NTT DATA Corporation フロントエンドとバックエンドの進化 [フロントエンド] RDDを中心とした処理系から、DataFrameを中 心とした処理系へ [バックエンド] CPU利用効率の改善 - Project Tungsten – イマドキのSpark - DataFrame中心の処理系へ-
  • 26. 26Copyright © 2015 NTT DATA Corporation  ある程度の規模の処理をRDDベースの処理で組み立てると  見通しが悪い  人手での最適化が難しい  RDDベースの処理の場合、言語によってバックエンドの処理系が異なるため、 言語によってパフォーマンスが異なる RDDベースの処理の課題
  • 27. Copyright © 2015 NTT DATA Corporation 27 DataFrame API  DataFrameに対してSQLを発行できるだけではなく、DataFrame APIと呼ばれるデータ処理用のAPIが提供されている  (Scala/Python/Java/R)  構造化されたデータの処理が簡潔に記述できる http://cdn.oreillystatic.com/en/assets/1/event/126/Apache%20Spark_%20What_s%20new_%20what_s%20coming%20Presentation.pdf DataFrame APIで 同様の処理を記述
  • 28. Copyright © 2015 NTT DATA Corporation 28 DataFrame API  Spark SQLのオプティマイザの恩恵が受けられる  オプティマイザによってJVMで動作する物理プランが生成されるた め、開発言語の違いによる著しい性能劣化は起こらない http://www.slideshare.net/databricks/introducing-dataframes-in-spark-for-large-scale-data-science
  • 29. Copyright © 2015 NTT DATA Corporation 29 2015年からのトレンド [フロントエンド] RDDを中心とした処理系から、DataFrameを中 心とした処理系への進化 [バックエンド] CPU利用効率の改善 - Project Tungsten - イマドキのSpark - Project Tungsten -
  • 30. Copyright © 2015 NTT DATA Corporation 30 様々な要因により、ボトルネックのトレンドがCPUに  Spark自体のアーキテクチャの改良 I/O効率の良いシャッフルロジック(ソートベースシャッフル) ネットワーク越しにデータを転送する際のメモリコピー回数の削 減(Netty)  DataFrameをベースとした処理の最適化 I/Oの削減 処理の最適化  昨今のハードウェアトレンドの変化 SSDや高スループットのネットワークが安価になってきた 一方でCPUのクロック数は頭打ち
  • 31. Copyright © 2015 NTT DATA Corporation 31 Project Tungsten  SparkのCPU利用効率を改善 ① 独自のメモリ管理 メモリ利用効率の向上 無駄な中間オブジェクト生成の回避 GCの削減 ② キャッシュアウェアなデータレイアウト メモリアクセスの待ち時間の削減 ③ コードの動的生成 条件分岐の削減 ボクシング / アンボクシングによるオブジェクト生成の削減 バーチャルメソッドコールの回数の削減
  • 32. Copyright © 2015 NTT DATA Corporation 32 Project Tungsten Project Tungsten(SPARK-7075) 特に性能にセンシティブな部分の独自のメモリ管理 •メモリ利用効率の向上 •無駄な中間オブジェクト生成の回避 •GCの削減 キャッシュアウェアなデータレイアウト モダンなCPUを活用できるコードの動的生成 Project Tungstenについてより詳しい情 報は、以下のセッションで確認できます  Reynold Xin Deep Dive into Project Tungsten (C会場 15:15~)
  • 33. Copyright © 2015 NTT DATA Corporation 33 まとめ  SparkはMapReduceフレームワークが苦手としていた、スループットとレイテン シの両立を狙った並列分散処理系  複雑な処理を実行する場合も中間データを都度HDFSに出力せず、I/Oのコスト を抑えられる  何度も利用するデータはキャッシュできる  Sparkはインターフェイスも優れている  配列やリストのようなコレクションのように処理を記述できる  インタラクティブシェルが試行錯誤を加速する  エコシステムが充実している  SQL / 機械学習 / ストリーム処理 / グラフ処理  現在はフロントエンドとバックエンドで進化が始まっている  DataFrameを中心とした処理系  Project TungstenによるCPU利用効率の改善
  • 34. Copyright © 2015 NTT DATA Corporation 34 Hadoop/Sparkのことなら、NTTデータにお任せください お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496
  • 35. Copyright © 2011 NTT DATA Corporation Copyright © 2015 NTT DATA Corporation