SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
?
Japan SQL Server Users Group - 第35回 SQL Server 2019勉強会 - Azure Synapese Analytics - SQL Pool 入門 のセッション資料です。
Spark の位置づけ。Synapse の中での入門編の使い方。そして、Synapse ならではの価値について触れてます。
6. Copyright ? BrainPad Inc. All Rights Reserved.
公式ドキュメントによると、
Apache Spark is a fast and general-purpose cluster computing system.
つまり、「高速」と「多目的」を特徴とした分散処理システム。
? 複数台のサーバを使って、大量のデータを高速に処理できる。
? タスクのスケジューリングや障害発生時の復旧のような分散処理にまつわる面倒
な点はSparkがカバーしてくれる。
? MapReduceで行われていたようなログ集計から、レコメンドシステム、リアル
タイム処理まで幅広い用途で使われている。
6
Sparkとは
7. Copyright ? BrainPad Inc. All Rights Reserved.
? 中間データの少ないインメモリによる処理
7
高速?
入力
データ
処理
中間
データ
処理
出力
データ
MapReduceの場合、処理ごとに中間データを作成しているため、処理が増えるほどディ
スクIOが増え、パフォーマンスに影響を与える。
入力
データ
処理 処理
出力
データ
Sparkの場合、中間データを出力する必要のない処理はまとめて実行される。(勿論、中
間データが必要になるケースもある。)
8. Copyright ? BrainPad Inc. All Rights Reserved.
? 多様なライブラリ
– Sparkには、便利なライブラリが最初から付属している。
? SparkSQL(DBやJSONなど構造化データに対してSQLを使ってアクセス)
? Spark Streaming(ストリーミングデータ処理)
? MLlib(機械学習)
? GraphX(グラフデータ処理)
– すべてSparkのコアコンポーネントをベースとしているため、コードの再利用や学習コ
ストの低下、メンテナンス容易性の向上が期待できる。
8
多目的?
9. Copyright ? BrainPad Inc. All Rights Reserved.
? 多様なAPI
– 以下4つのプログラミング言語をサポートしている。
? Python
? Scala
? Java
? R
– Pythonは、以下バージョンをサポートしている。
? 2.6以上
? 3.4以上
? PyPy2.3以上
– 今日はPython2.7をベースとした使い方について話します。
9
多目的?
14. Copyright ? BrainPad Inc. All Rights Reserved.
DeltaCubeについて
? 弊社が開発する、DMP製品。
? サイトの行動ログなどから、ユーザーをセグメントに分けるツール。
15. Copyright ? BrainPad Inc. All Rights Reserved.
自動クラスタリング機能
? 人手を介さず、自動的にユーザーをいい感じにセグメントわけする機能。
? これをSparkで実現。
– 増え続ける大量のデータに対して複雑な処理をしたい、というニーズにぴったり。
16. Copyright ? BrainPad Inc. All Rights Reserved. 16
Sparkでの自動クラスタリングの流れ
? ユーザーの行動ログから、KMeansでクラスタリングをし、セグメントを判定し
て保存する。
– 特徴量は、ユーザーの閲覧ページカテゴリの傾向
17. Copyright ? BrainPad Inc. All Rights Reserved. 17
Sparkでの自動クラスタリングの流れ
? 今日は基礎部分(コアAPI)を簡単に解説後、Spark SQL, MLlibに焦点を絞って
解説します。
36. Copyright ? BrainPad Inc. All Rights Reserved.
? Sparkは、インメモリ処理による高速性と、多目的なライブラリを持つ分散処理
フレームワーク。
? Spark SQLとMLlibを組み合わせることで、弊社のケースのような大規模データ
に対する複雑な処理も簡単に。
? データ量の少ないタスクにとっては速度的にも運用負荷の面でもいいことがない
と思われるので、やみくもな導入は避けたい。
36
まとめ
37. Copyright ? BrainPad Inc. All Rights Reserved.
? 自分で動かしてみて、Sparkを体感してみましょう。
? 本を買ってみましょう。
? GraphXやSpark Streamingなど、今回触れなかったライブラリについて調べて
みましょう。
? DriverやExecutorといった実行モデルについて調べてみましょう。
? Shuffle処理について調べてみましょう。
– パフォーマンス改善の勘所の一つ
37
さらに知りたい方へ
38. Copyright ? BrainPad Inc. All Rights Reserved.
ブレインパッドでは、「データ分析」と「エンジニアリング」の融合により新しい
価値を提供したいエンジニア?データサイエンティストを募集しています!
ご興味ある方は是非お気軽に話しかけてください!
38
WE ARE HIRING !!
40. Copyright ? BrainPad Inc. All Rights Reserved.
株式会社ブレインパッド
〒108-0071 東京都港区白金台3-2-10 白金台ビル3F
TEL:03-6721-7001
FAX:03-6721-7010
info@brainpad.co.jp
Copyright ? BrainPad Inc. All Rights Reserved.
www.brainpad.co.jp