SlideShare a Scribd company logo
Apache Spark の現在
Apache Spark – Present
© Hortonworks Inc. 2011 – 2015. All Rights Reserved
Yifeng Jiang
Solutions Engineer, Hortonworks Japan
2015/10/14
2 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
アジェンダ
• Apache Sparkとは何か?
– Introduction
– MLlib
– Spark SQL
– Spark Streaming
• Spark と Hadoop – HDP 2.3
• Hortonworks はSparkにフォーカス
3 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Apache Sparkとは
分散型のコンピューティングエンジン
迅速かつ表現が多様なデータ処理に対応
反復的、インメモリ向けの設計
コンピューティングとインタラクティブ
データマイニング
Apacheオープンソースプロジェクト
表現が多様な多⾔語API
Java、Scala、Python、Rに対応
強⼒な抽象
データワーカーがデータに対して迅速に
反復可能:
•  ETL、機械学習、SQL、ストリーム処理、グラフ処理
	
Scala
Java
Python
API
Sparkコアエンジン	Sparkコアエンジン	
GraphX
Spark
SQL
Spark
Streaming
MLlib
4 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
基本的抽象:RDD(Resilient Distributed Datasets)
RDD
プリミティブとして分散コレクション
と連携
RDDの特性
•  クラスター全体に分散したオブジェクトの普
遍コレクション
•  並列変換(map、filterなど)によって構築
•  障害発⽣時に⾃動的に再構築
•  制御可能な持続性(例:RAMでのキャッシ
ング)
複数⾔語
開発者、パートナー、顧客の広範な連携
RDD
パーティション1
RDD
パーティション2
RDD
パーティション3ワーカーノード	
ワーカーノード	
ワーカーノード	
RDD
論理	Spark
ドライバ	
	
sc = new SparkContext
rDD =sc.textfile(“hdfs://…”)
rDD.filter(…)
rDD.Cache
rDD.Count
rDD.map
…
開発者	
物理	
書き込み	
RDD
RDDは、クラスタ内に分散し、RAMまたはディスクに
キャッシュされるオブジェクトの集合である。これらは並列
変換によって作成され、障害発⽣時には⾃動的に再構築され、
不変である(変換のたびに新しいRDDが作成される)。
5 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
RDDを利⽤して開発者が実⾏できること
RDDオペレーション
変換
•  例:map、filter、groupBy、join
•  別のRDDからRDDを構築する簡単なオペ
レーション
アクション
•  例:count、collect、save
•  結果を返す、またはストレージに書き込む
その他のプリミティブ
•  アキュムレーター
•  ブロードキャスト変数
開発者	
書き込み	
RDD
オペレーション	
書き込み	
アキュムレーター	
	
アクション	
ブロードキャ
スト変数	
変換
6 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
MLlib
機械学習ライブラリ
YARN	
HDFS	
	
Scala

Java

Python

API	
Sparkコアエンジン	Sparkコアエンジン	
GraphX	
Spark 	
SQL	
Spark
Streaming	
MLlib
7 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
機械学習とは
機械学習とは、データからコンセプト
を学習するアルゴリズムの研究。
データから学習し、明⽰的なプログラ
ムがなくても作動するコンピュータを
実現させる科学
8 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
機械学習例: ⾃然グループの検出
ビジネスのユースケース
•  顧客セグメンテーション
•  ニュース記事の分類
クラスタ番号
ID Total$ Age City
101 $200 25 SF 2
102 $350 35 LA 2
103 $25 15 LA 1
… … … … 1
1
2
2
2
9 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
機械学習例:商品のレコメンデーション
嗜好の予測:似通った“好み”の⼈間を特定
•  この商品を買っている人はこんな商品も買っています
10 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
機械学習の実装
機械学習の実装が複雑
•  ⾼度なアルゴリズム
•  ⼤量の繰返し計算が必要:Spark
のインメモリ処理と相性がいい
•  分散環境でスケール
•  パフォーマンスk-means clustering algorithm
11 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
機械学習のプリミティブ
Unsupervised Learning
Clustering (K-means)
Recommendation
Collaborative Filtering
-  alternating least squares
Dimensionality Reductions
- Principal component analysis (PCA) and singular
value decomposition (SVD)
Supervised Learning
Classification
- Naïve Bayes, Decision Tree, Random Forest,
Gradient Boosted Trees
Regression
- linear, logistic and Support Vector Machines
(SVMs)
12 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
MLlibによるレコメンデーション
MLlibを使ったレコメンデー
ション
•  ライブラリを利⽤
•  MLlibがSpark上に分散実⾏
•  よいパフォーマンス
13 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
	 	 SQL
SQLアクセスとデータフレーム
YARN
HDFS
	
Scala
Java
Python
API
Sparkコアエンジン	Sparkコアエンジン	
GraphX
Spark
Streaming
MLlib
Spark
SQL
14 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
YARN
HDFS
Spark SQL
テーブル構造
テーブルおよび⾏との連携のために統合
SparkによるHiveクエリー
Spark SQL ContextはHiveに接続してHiveをクエ
リー可能
バインド
Python、Scala、Java、Rが対象
DataFrame
SQL処理を合理化 / 迅速化する新しい抽象
Sparkコアエンジン	
	
Spark SQL
データフレームDSL Spark SQL
データフレームAPI
データソースAPI
15 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
ストレージ	
DataFrameとは
データフレームは、RDD内のデータをテーブルとして
表現する
RDDは低レベルの抽象である
– RDDはバイトコード、DataFrameはJavaコード
として考える
データフレームのプロパティ
– データフレームはRDDにスキーマを追加する
– ユーザーによる積極的なクエリー最適化を可能に
する
– SQLのパワーをRDDに提供する
部門 名前 年齢
Bio H Smith 48
CS A Turing 54
Bio B Jones 43
Phys E
Witten
61
タプル	
リレーショナル	
ビュー	
カラム指向ストレージ	
ORCFile Parquet
非構造化データ	
JSON CSV
テキスト	 Avro
カスタム	
ブログ
16 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
データフレームは直感的
RDDの例
同等データフレームの例
部門 名前 年齢
Bio H Smith 48
CS A Turing 54
Bio B Jones 43
Phys E
Witten
61
部門別の平均年齢を求める
17 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Sparkデータフレームは⾼速
18 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Streaming
リアルタイムストリーム処理
YARN
HDFS
	
Scala
Java
Python
API
Sparkコアエンジン	Sparkコアエンジン	
GraphX
Spark
SQL
MLlib
Spark
Streaming
19 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Spark Streaming
ストリーミングへの対応
ライブマイクロバッチの⾼スループット、
フォールトトレラントな処理
複数の取り込みソース
Kafka、Flume、Twitter、ZeroMQ、Kinesis、
TCPソケット
Spark APIの再利⽤
マップ、削減、結合、ウィンドウなどの⾼レベ
ル機能による複雑なアルゴリズムの処理
データの持続性
ファイルシステム、データベース、ライブダッ
シュボードへの処理済みデータのプッシュ
20 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Hortonworks Data Platform
& Hadoop
完璧な組み合わせ
21 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
HDP 2.3内のApache Spark 1.4.1
リソース管理
マルチテナントワークロードと予測可能なSLA
運⽤管理
デプロイや運⽤管理はAmbariを使⽤
SparkR*
RデータサイエンティストはSpark機械学習を活
⽤可能
場所を選ばない導⼊
LinuxまたはWindows、オンプレミスまたはクラ
ウド
クラウドでのセルフサービス
Microsoft Azure、Amazon Web Services、
Google Cloud Platform、OpenStack、Docker
への導⼊にはCloudbreakとAmbariを使⽤
アプリケーション	
ガバナンスと統合	
セキュリティ	
オペレーション	
YARN
HDFS
	
Scala
Java
Python
API
Sparkコアエンジン	Sparkコアエンジン	
Spark
SQL
Spark
Streaming
MLlib GraphX
22 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Sparkセキュリティ
Spark on YARNだけが Kerberos をサポート
Kerberos 認証を活⽤
Spark は HDFS and ORC からデータを読込み
HDFS ファイル パーミッション (またはRanger連携) は Spark ジョブにも適⽤
Spark がジョブを YARN キュー に投⼊
YARN キュー ACL (またはRanger連携) が Spark ジョブにも適⽤
転送中のデータの暗号化
Spark は⼀定のカバーがあるが、すべてのチャンネルではない
LDAP 認証
Spark UIでの直接サポートはまだない, LDAPに接続するフィルターを使⽤
23 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Ambariによるインストール
Select
Spark
Assign
nodes for
Spark
History
Server &
Spark Client
Add
Servic
e
Go to a
node with
Spark Client
Submit
spark
jobs
Hadoop
Admin
Spark
is
Ready
Spark
User
24 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Spark on YARN
Spark が YARN を クラスタマネージャー
として利⽤
2つのモード: YARN-client か YARN-
cluster
YARN-client
•  ドライバがクライアント ノードに
•  開発、デバッギングに有効
YARN-cluster
•  ドライバが YARN application master
(left)に
•  バッチや⾃動化したジョブに有効
Spark in HDP
Task Task
CacheExecutor
Spark Content
Driver Program
App Master
Monitoring UI
YARN RM
Worker Nodes
Task Task
CacheExecutor
25 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
ORCサポート
ORC
•  Hadoopワークロード向けの最⼩、最速のカラ
ム指向ストレージ
ORC in Spark
•  SparkからORCデータの読み書き
•  パーティション、フィルタプッシュダウンなど
の最適化もサポート
•  DataFrame サポートYARN:データオペレーティングシステム	
HDFS
	
	
Sparkコア	
	
Scala
Java
Python
ライブラリ	
	
MLlib

(機械学習)	
	
Spark
SQL*	
	
Spark
Streaming*	
	
	
	
	
	
Hive
	
	
	
	
	
HBase
26 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
レファレンス アーキテクチャ
バッチ ソース
ストリーミング
ソース
レファレンス
データ
ストリーミング処理
Storm/Spark-Streaming
データ パイプライ
ン
Hive/Pig/Spark
長期保存データ
ウェアハウス
Hive + ORC
データ
ディスカバリー
レポーティング
ビジネス
インテリジェンス
(BI)
アドホック/オン
デマンド ソース
データサイエンス
Spark-ML, Spark-SQL
高度な分析
データ ソース データ処理、保存や分析 データ アクセス
27 © Hortonworks Inc. 2011 – 2015. All Rights Reserved
Hortonworksが

重点を置く	
Spark & Hadoopの完璧な組み合わせ
YARN
HDFS
Scala
Java
Python
API
SparkコアエンジンSparkコアエンジン
Spark
SQL
Spark
Streaming
MLlib GraphX
未来
28 © Hortonworks Inc. 2011 – 2015. All Rights Reserved28 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Tweet: #hadooproadshow
詳細情報:
hortonworks.com/hadoop/spark
29 © Hortonworks Inc. 2011 – 2015. All Rights Reserved29 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Tweet: #hadooproadshow
Thank You

More Related Content

PDF
Yifeng hadoop-present-public
PDF
Hive-sub-second-sql-on-hadoop-public
PDF
Apache Ambari Overview -- Hadoop for Everyone
PPTX
sparksql-hive-bench-by-nec-hwx-at-hcj16
PDF
Hiveを高速化するLLAP
PDF
Data Science on Hadoop
PDF
HDP Security Overview
PDF
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...
Yifeng hadoop-present-public
Hive-sub-second-sql-on-hadoop-public
Apache Ambari Overview -- Hadoop for Everyone
sparksql-hive-bench-by-nec-hwx-at-hcj16
Hiveを高速化するLLAP
Data Science on Hadoop
HDP Security Overview
Introduction to Hadoop and Spark (before joining the other talk) and An Overv...

What's hot (20)

PDF
Hadoop最新事情とHortonworks Data Platform
PPTX
The truth about SQL and Data Warehousing on Hadoop
PPTX
Struggle against crossdomain data complexity in Recruit Group
PDF
Deep Dive into Spark SQL with Advanced Performance Tuning
PDF
HDInsight & CosmosDB - Global IoT · Big data processing infrastructure
PDF
Deep Learning On Apache Spark
PDF
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
PDF
Hadoop/Spark セルフサービス系の事例まとめ
PDF
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
PDF
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
PDF
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
PDF
Comparison of Transactional Libraries for HBase
PPTX
A Benchmark Test on Presto, Spark Sql and Hive on Tez
PDF
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
PDF
HiveとImpalaのおいしいとこ取り
PDF
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
PPTX
Hive on Spark の設計指針を読んでみた
PDF
Tez on EMRを試してみた
PDF
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
PDF
Apache NiFiで、楽して、つながる、広がる IoTプロジェクト
Hadoop最新事情とHortonworks Data Platform
The truth about SQL and Data Warehousing on Hadoop
Struggle against crossdomain data complexity in Recruit Group
Deep Dive into Spark SQL with Advanced Performance Tuning
HDInsight & CosmosDB - Global IoT · Big data processing infrastructure
Deep Learning On Apache Spark
db tech showcase_2014_A14_Actian Vectorで得られる、BIにおける真のパフォーマンスとは
Hadoop/Spark セルフサービス系の事例まとめ
Impala データサイエンティストのための 高速大規模分散基盤 #tokyowebmining
Apache Hadoop & Hive 入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hadoop の現在と将来(Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Comparison of Transactional Libraries for HBase
A Benchmark Test on Presto, Spark Sql and Hive on Tez
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
HiveとImpalaのおいしいとこ取り
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
Hive on Spark の設計指針を読んでみた
Tez on EMRを試してみた
Apache Kuduは何がそんなに「速い」DBなのか? #dbts2017
Apache NiFiで、楽して、つながる、広がる IoTプロジェクト
Ad

Viewers also liked (20)

PPTX
Introduction to OB: Chapter #01
PPTX
Veganuary research1
PPTX
RIWC_PARA_A036 Independent Living for learning disabled people
PDF
Module 1 lesson 1 rates
PDF
End of mod 3 review with answers
PDF
Module 3 lesson 19 vertical and angles at a point
PDF
Psychokinesis telekinesis
PDF
Justice climatique : enjeux et perspectives pour la France
PPT
On time-series databases
PPTX
KWORKS Oyun ve Oyunlaştırmanın Geleceği AR Gaming /Blippar
PDF
Les dépenses publiques
PPTX
Multimedia rescue 161018
PDF
La construction d'une Europe dotée d'un socle des droits sociaux
PDF
APG West Social Media Week: David Wilding, Twitter
PDF
Part 3: The Different Schools of Strategy
PPTX
Funofis- İş Yerinde Oyun ve Oyunlaştırma Eğitimi
PDF
Speaking to People: The Strategist’s Secret Weapon
PDF
APG West Social Media Week: Jessi Langsen, H+K
PPTX
YARN Ready: Apache Spark
PDF
Not Your Father's Database by Vida Ha
Introduction to OB: Chapter #01
Veganuary research1
RIWC_PARA_A036 Independent Living for learning disabled people
Module 1 lesson 1 rates
End of mod 3 review with answers
Module 3 lesson 19 vertical and angles at a point
Psychokinesis telekinesis
Justice climatique : enjeux et perspectives pour la France
On time-series databases
KWORKS Oyun ve Oyunlaştırmanın Geleceği AR Gaming /Blippar
Les dépenses publiques
Multimedia rescue 161018
La construction d'une Europe dotée d'un socle des droits sociaux
APG West Social Media Week: David Wilding, Twitter
Part 3: The Different Schools of Strategy
Funofis- İş Yerinde Oyun ve Oyunlaştırma Eğitimi
Speaking to People: The Strategist’s Secret Weapon
APG West Social Media Week: Jessi Langsen, H+K
YARN Ready: Apache Spark
Not Your Father's Database by Vida Ha
Ad

Similar to Yifeng spark-final-public (20)

PDF
20160127三木会 RDB経験者のためのspark
PDF
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
PDF
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
PDF
Data Architecture
PDF
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
PDF
Configureing analytics system with apache spark and object storage service of...
PPTX
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
PPTX
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
PDF
Hadoop Trends & Hadoop on EC2
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
PDF
Apache Sparkやってみたところ
PPTX
クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
PDF
The Future of Apache Spark
PDF
[Oracle big data jam session #1] Apache Spark ことはじめ
PPTX
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
PDF
Evolution of Impala #hcj2014
PDF
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
PPTX
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
PPTX
Big datauniversity
20160127三木会 RDB経験者のためのspark
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Spark 2.0 What's Next (Hadoop / Spark Conference Japan 2016 キーノート講演資料)
Data Architecture
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
Configureing analytics system with apache spark and object storage service of...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Hadoop Trends & Hadoop on EC2
大量のデータ処理や分析に使えるOSS Apache Spark入門 - Open Source Conference2020 Online/Fukuoka...
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
Apache Sparkやってみたところ
クラウドから始めるRのビッグデータ分析- Oracle R Enterprise in Cloud
The Future of Apache Spark
[Oracle big data jam session #1] Apache Spark ことはじめ
Introduction to Impala ~Hadoop用のSQLエンジン~ #hcj13w
Evolution of Impala #hcj2014
MapR と Vertica エンジニアが語る、なぜその組み合わせが最高なのか? - db tech showcase 大阪 2014 2014/06/19
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Big datauniversity

More from Yifeng Jiang (16)

PDF
Hive spark-s3acommitter-hbase-nfs
PDF
introduction-to-apache-kafka
PDF
Hive2 Introduction -- Interactive SQL for Big Data
PDF
Introduction to Streaming Analytics Manager
PDF
HDF 3.0 IoT Platform for Everyone
PDF
Hortonworks Data Cloud for AWS 1.11 Updates
PDF
Spark Security
PDF
Introduction to Hortonworks Data Cloud for AWS
PDF
Real-time Analytics in Financial
PDF
Nifi workshop
PDF
Sub-second-sql-on-hadoop-at-scale
PDF
Kinesis vs-kafka-and-kafka-deep-dive
PPTX
Hive present-and-feature-shanghai
PDF
Hadoop Present - Open Enterprise Hadoop
PDF
Apache Hiveの今とこれから
PDF
HDFS Deep Dive
Hive spark-s3acommitter-hbase-nfs
introduction-to-apache-kafka
Hive2 Introduction -- Interactive SQL for Big Data
Introduction to Streaming Analytics Manager
HDF 3.0 IoT Platform for Everyone
Hortonworks Data Cloud for AWS 1.11 Updates
Spark Security
Introduction to Hortonworks Data Cloud for AWS
Real-time Analytics in Financial
Nifi workshop
Sub-second-sql-on-hadoop-at-scale
Kinesis vs-kafka-and-kafka-deep-dive
Hive present-and-feature-shanghai
Hadoop Present - Open Enterprise Hadoop
Apache Hiveの今とこれから
HDFS Deep Dive

Yifeng spark-final-public

  • 1. Apache Spark の現在 Apache Spark – Present © Hortonworks Inc. 2011 – 2015. All Rights Reserved Yifeng Jiang Solutions Engineer, Hortonworks Japan 2015/10/14
  • 2. 2 © Hortonworks Inc. 2011 – 2015. All Rights Reserved アジェンダ • Apache Sparkとは何か? – Introduction – MLlib – Spark SQL – Spark Streaming • Spark と Hadoop – HDP 2.3 • Hortonworks はSparkにフォーカス
  • 3. 3 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Apache Sparkとは 分散型のコンピューティングエンジン 迅速かつ表現が多様なデータ処理に対応 反復的、インメモリ向けの設計 コンピューティングとインタラクティブ データマイニング Apacheオープンソースプロジェクト 表現が多様な多⾔語API Java、Scala、Python、Rに対応 強⼒な抽象 データワーカーがデータに対して迅速に 反復可能: •  ETL、機械学習、SQL、ストリーム処理、グラフ処理 Scala Java Python API Sparkコアエンジン Sparkコアエンジン GraphX Spark SQL Spark Streaming MLlib
  • 4. 4 © Hortonworks Inc. 2011 – 2015. All Rights Reserved 基本的抽象:RDD(Resilient Distributed Datasets) RDD プリミティブとして分散コレクション と連携 RDDの特性 •  クラスター全体に分散したオブジェクトの普 遍コレクション •  並列変換(map、filterなど)によって構築 •  障害発⽣時に⾃動的に再構築 •  制御可能な持続性(例:RAMでのキャッシ ング) 複数⾔語 開発者、パートナー、顧客の広範な連携 RDD パーティション1 RDD パーティション2 RDD パーティション3ワーカーノード ワーカーノード ワーカーノード RDD 論理 Spark ドライバ sc = new SparkContext rDD =sc.textfile(“hdfs://…”) rDD.filter(…) rDD.Cache rDD.Count rDD.map … 開発者 物理 書き込み RDD RDDは、クラスタ内に分散し、RAMまたはディスクに キャッシュされるオブジェクトの集合である。これらは並列 変換によって作成され、障害発⽣時には⾃動的に再構築され、 不変である(変換のたびに新しいRDDが作成される)。
  • 5. 5 © Hortonworks Inc. 2011 – 2015. All Rights Reserved RDDを利⽤して開発者が実⾏できること RDDオペレーション 変換 •  例:map、filter、groupBy、join •  別のRDDからRDDを構築する簡単なオペ レーション アクション •  例:count、collect、save •  結果を返す、またはストレージに書き込む その他のプリミティブ •  アキュムレーター •  ブロードキャスト変数 開発者 書き込み RDD オペレーション 書き込み アキュムレーター アクション ブロードキャ スト変数 変換
  • 6. 6 © Hortonworks Inc. 2011 – 2015. All Rights Reserved MLlib 機械学習ライブラリ YARN HDFS Scala
 Java
 Python
 API Sparkコアエンジン Sparkコアエンジン GraphX Spark SQL Spark Streaming MLlib
  • 7. 7 © Hortonworks Inc. 2011 – 2015. All Rights Reserved 機械学習とは 機械学習とは、データからコンセプト を学習するアルゴリズムの研究。 データから学習し、明⽰的なプログラ ムがなくても作動するコンピュータを 実現させる科学
  • 8. 8 © Hortonworks Inc. 2011 – 2015. All Rights Reserved 機械学習例: ⾃然グループの検出 ビジネスのユースケース •  顧客セグメンテーション •  ニュース記事の分類 クラスタ番号 ID Total$ Age City 101 $200 25 SF 2 102 $350 35 LA 2 103 $25 15 LA 1 … … … … 1 1 2 2 2
  • 9. 9 © Hortonworks Inc. 2011 – 2015. All Rights Reserved 機械学習例:商品のレコメンデーション 嗜好の予測:似通った“好み”の⼈間を特定 •  この商品を買っている人はこんな商品も買っています
  • 10. 10 © Hortonworks Inc. 2011 – 2015. All Rights Reserved 機械学習の実装 機械学習の実装が複雑 •  ⾼度なアルゴリズム •  ⼤量の繰返し計算が必要:Spark のインメモリ処理と相性がいい •  分散環境でスケール •  パフォーマンスk-means clustering algorithm
  • 11. 11 © Hortonworks Inc. 2011 – 2015. All Rights Reserved 機械学習のプリミティブ Unsupervised Learning Clustering (K-means) Recommendation Collaborative Filtering -  alternating least squares Dimensionality Reductions - Principal component analysis (PCA) and singular value decomposition (SVD) Supervised Learning Classification - Naïve Bayes, Decision Tree, Random Forest, Gradient Boosted Trees Regression - linear, logistic and Support Vector Machines (SVMs)
  • 12. 12 © Hortonworks Inc. 2011 – 2015. All Rights Reserved MLlibによるレコメンデーション MLlibを使ったレコメンデー ション •  ライブラリを利⽤ •  MLlibがSpark上に分散実⾏ •  よいパフォーマンス
  • 13. 13 © Hortonworks Inc. 2011 – 2015. All Rights Reserved SQL SQLアクセスとデータフレーム YARN HDFS Scala Java Python API Sparkコアエンジン Sparkコアエンジン GraphX Spark Streaming MLlib Spark SQL
  • 14. 14 © Hortonworks Inc. 2011 – 2015. All Rights Reserved YARN HDFS Spark SQL テーブル構造 テーブルおよび⾏との連携のために統合 SparkによるHiveクエリー Spark SQL ContextはHiveに接続してHiveをクエ リー可能 バインド Python、Scala、Java、Rが対象 DataFrame SQL処理を合理化 / 迅速化する新しい抽象 Sparkコアエンジン Spark SQL データフレームDSL Spark SQL データフレームAPI データソースAPI
  • 15. 15 © Hortonworks Inc. 2011 – 2015. All Rights Reserved ストレージ DataFrameとは データフレームは、RDD内のデータをテーブルとして 表現する RDDは低レベルの抽象である – RDDはバイトコード、DataFrameはJavaコード として考える データフレームのプロパティ – データフレームはRDDにスキーマを追加する – ユーザーによる積極的なクエリー最適化を可能に する – SQLのパワーをRDDに提供する 部門 名前 年齢 Bio H Smith 48 CS A Turing 54 Bio B Jones 43 Phys E Witten 61 タプル リレーショナル ビュー カラム指向ストレージ ORCFile Parquet 非構造化データ JSON CSV テキスト Avro カスタム ブログ
  • 16. 16 © Hortonworks Inc. 2011 – 2015. All Rights Reserved データフレームは直感的 RDDの例 同等データフレームの例 部門 名前 年齢 Bio H Smith 48 CS A Turing 54 Bio B Jones 43 Phys E Witten 61 部門別の平均年齢を求める
  • 17. 17 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Sparkデータフレームは⾼速
  • 18. 18 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Streaming リアルタイムストリーム処理 YARN HDFS Scala Java Python API Sparkコアエンジン Sparkコアエンジン GraphX Spark SQL MLlib Spark Streaming
  • 19. 19 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Spark Streaming ストリーミングへの対応 ライブマイクロバッチの⾼スループット、 フォールトトレラントな処理 複数の取り込みソース Kafka、Flume、Twitter、ZeroMQ、Kinesis、 TCPソケット Spark APIの再利⽤ マップ、削減、結合、ウィンドウなどの⾼レベ ル機能による複雑なアルゴリズムの処理 データの持続性 ファイルシステム、データベース、ライブダッ シュボードへの処理済みデータのプッシュ
  • 20. 20 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Hortonworks Data Platform & Hadoop 完璧な組み合わせ
  • 21. 21 © Hortonworks Inc. 2011 – 2015. All Rights Reserved HDP 2.3内のApache Spark 1.4.1 リソース管理 マルチテナントワークロードと予測可能なSLA 運⽤管理 デプロイや運⽤管理はAmbariを使⽤ SparkR* RデータサイエンティストはSpark機械学習を活 ⽤可能 場所を選ばない導⼊ LinuxまたはWindows、オンプレミスまたはクラ ウド クラウドでのセルフサービス Microsoft Azure、Amazon Web Services、 Google Cloud Platform、OpenStack、Docker への導⼊にはCloudbreakとAmbariを使⽤ アプリケーション ガバナンスと統合 セキュリティ オペレーション YARN HDFS Scala Java Python API Sparkコアエンジン Sparkコアエンジン Spark SQL Spark Streaming MLlib GraphX
  • 22. 22 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Sparkセキュリティ Spark on YARNだけが Kerberos をサポート Kerberos 認証を活⽤ Spark は HDFS and ORC からデータを読込み HDFS ファイル パーミッション (またはRanger連携) は Spark ジョブにも適⽤ Spark がジョブを YARN キュー に投⼊ YARN キュー ACL (またはRanger連携) が Spark ジョブにも適⽤ 転送中のデータの暗号化 Spark は⼀定のカバーがあるが、すべてのチャンネルではない LDAP 認証 Spark UIでの直接サポートはまだない, LDAPに接続するフィルターを使⽤
  • 23. 23 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Ambariによるインストール Select Spark Assign nodes for Spark History Server & Spark Client Add Servic e Go to a node with Spark Client Submit spark jobs Hadoop Admin Spark is Ready Spark User
  • 24. 24 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Spark on YARN Spark が YARN を クラスタマネージャー として利⽤ 2つのモード: YARN-client か YARN- cluster YARN-client •  ドライバがクライアント ノードに •  開発、デバッギングに有効 YARN-cluster •  ドライバが YARN application master (left)に •  バッチや⾃動化したジョブに有効 Spark in HDP Task Task CacheExecutor Spark Content Driver Program App Master Monitoring UI YARN RM Worker Nodes Task Task CacheExecutor
  • 25. 25 © Hortonworks Inc. 2011 – 2015. All Rights Reserved ORCサポート ORC •  Hadoopワークロード向けの最⼩、最速のカラ ム指向ストレージ ORC in Spark •  SparkからORCデータの読み書き •  パーティション、フィルタプッシュダウンなど の最適化もサポート •  DataFrame サポートYARN:データオペレーティングシステム HDFS Sparkコア Scala Java Python ライブラリ MLlib
 (機械学習) Spark SQL* Spark Streaming* Hive HBase
  • 26. 26 © Hortonworks Inc. 2011 – 2015. All Rights Reserved レファレンス アーキテクチャ バッチ ソース ストリーミング ソース レファレンス データ ストリーミング処理 Storm/Spark-Streaming データ パイプライ ン Hive/Pig/Spark 長期保存データ ウェアハウス Hive + ORC データ ディスカバリー レポーティング ビジネス インテリジェンス (BI) アドホック/オン デマンド ソース データサイエンス Spark-ML, Spark-SQL 高度な分析 データ ソース データ処理、保存や分析 データ アクセス
  • 27. 27 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Hortonworksが
 重点を置く Spark & Hadoopの完璧な組み合わせ YARN HDFS Scala Java Python API SparkコアエンジンSparkコアエンジン Spark SQL Spark Streaming MLlib GraphX 未来
  • 28. 28 © Hortonworks Inc. 2011 – 2015. All Rights Reserved28 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Tweet: #hadooproadshow 詳細情報: hortonworks.com/hadoop/spark
  • 29. 29 © Hortonworks Inc. 2011 – 2015. All Rights Reserved29 © Hortonworks Inc. 2011 – 2015. All Rights Reserved Tweet: #hadooproadshow Thank You