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 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
 
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...NTT DATA Technology & Innovation
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...NTT DATA OSS Professional Services
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)NTT DATA Technology & Innovation
 
本当にあったApache Spark障害の話
本当にあったApache Spark障害の話本当にあったApache Spark障害の話
本当にあったApache Spark障害の話x1 ichi
 
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
 
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
 
大量のデータ処理や分析に使える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
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)NTT DATA Technology & Innovation
 
S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話Noritaka Sekiyama
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...Holden Karau
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返りSotaro Kimura
 

What's hot (20)

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 ...
 
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
 
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
分散処理基盤Apache Hadoop入門とHadoopエコシステムの最新技術動向 (オープンソースカンファレンス 2015 Tokyo/Spring 講...
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
本当にあったApache Spark障害の話
本当にあったApache Spark障害の話本当にあったApache Spark障害の話
本当にあったApache Spark障害の話
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/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 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
大量のデータ処理や分析に使える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...
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
 
S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法  ※講演は翻訳資料にて行います。 - Getting the Best...
PySparkによるジョブを、より速く、よりスケーラブルに実行するための最善の方法 ※講演は翻訳資料にて行います。 - Getting the Best...
 
Apache spark 2.3 and beyond
Apache spark 2.3 and beyondApache spark 2.3 and beyond
Apache spark 2.3 and beyond
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 

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 (8)

Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
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 講演資料)

20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのsparkRyuji Tamagawa
 
[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
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn
 

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

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
 
[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 - クラクドにおける 新たなデータベース開発
 
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [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
 
Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
 
Big datauniversity
Big datauniversityBig datauniversity
Big datauniversity
 
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合dstn交流会_DataSpider のソーシャルとの融合、手組との融合
dstn交流会_DataSpider のソーシャルとの融合、手組との融合
 

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
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~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
 

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 の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
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
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
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 ~ インフラエンジニアのたしなみ ~
 

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