SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
1
個⼈的に Amazon EMR 5.0.0 で Spark 2.0
を使ってZeppelin で SQL集計 してみる
2016年8⽉ 篠原英治
2
Amazon EMR – 2016年のアップデート
• 1⽉: EMR 4.3.0 – Spark, Presto, Ganglia
• 3⽉: EMR 4.4.0 – Sqoop, HCatalog, Java 8, 他
• 4⽉: EMR 4.5.0 – Hadoop, Presto, SparkとEMRFS追加
• 4⽉: EMR 4.6.0 – 巨⼤データへのリアルタイムアクセス⽤
に、Hbase
• 6⽉: EMR 4.7.0 – Apache Tez, Apache Phoenix, Presto,
HBase, Mahout
• 8⽉: EMR 5.0.0 - メジャーアップデート!
https://aws.amazon.com/jp/blogs/news/amazon-emr-5-0-0-major-app-updates-ui-
improvements-better-debugging-and-more/
3
Amazon EMR – 5.0.0
• 16のオープンソースのHadoopエコシステムプロジェクトを
サポート
• SparkとHiveのメジャーバージョンアップ
• TezがHiveとPigのデフォルトに
• HueとZeppelinのUI改善
• デバッグ機能の改良
https://aws.amazon.com/jp/blogs/news/amazon-emr-5-0-0-major-app-updates-ui-
improvements-better-debugging-and-more/
4
Amazon EMR – 5.0.0
5
Amazon EMR – 5.0.0 – Spark 2.0
6
Amazon EMR – 5.0.0 – Spark 2.0.0
7
Spark 2.0 – Machine Learning
• Announcement: DataFrame-based API is primary API
– DataFrame-basedのAPIがプライマリのAPIに
• The MLlib RDD-based API is now in maintenance mode
– MLlib RDD-based APIはメンテナンスモードに
http://spark.apache.org/docs/latest/ml-guide.html
8
Spark 2.0 – Machine Learning
• As of Spark 2.0, the RDD-based APIs in the spark.mllib
package have entered maintenance mode
– Spark2.0からspark.mllibパッケージのRDD-based APIは
メンテナンスモードに
• The primary Machine Learning API for Spark is now the
DataFrame-based API in the spark.ml package
– Sparkにおけるプライマリな機械学習APIはspark.mlパッ
ケージのDataFrame-based APIに
http://spark.apache.org/docs/latest/ml-guide.html
9
Spark 2.0 – Machine Learning
• RDD-based API ⇒ DataFrame-based APIへ
– spark.mllib のサポートは基本的にはバグフィックス
– RDD-based APIには新しい機能追加は⾏わない
– Spark 2.xのリリースでMLlibはDataFrame-based APIに
機能追加を⾏い、RDD-based APIに追いつく
– DataFrame-based APIがRDD-based APIに追いついたら
(おおよそSpark 2.2)、RDD-based APIはdeprecatedに
– RDD-based APIはSpark 3.0で削除予定
http://spark.apache.org/docs/latest/ml-guide.html
10
Spark 2.0 – Machine Learning
• なぜDataFrame-based APIか?
– DataFrameはRDDよりユーザーフレンドリーなAPIを提供
• Spark Datasources
• SQL/DataFrame queries
• Tungsten and Catalyst optimizations
• ⾔語によらない統合されたAPI
– DataFrame-based API for Mllibは機械学習アルゴリズム及び
⾔語によらない統合されたAPIを提供する
– DataFrameは実践的なfeature transformations(tokenize,
normalize, n-gram等)といった機械学習パイプラインを提供
http://spark.apache.org/docs/latest/ml-guide.html
11
Spark 2.0 – Getting Started
• Zeppelinでアクセス
– Security Group で SSH の設定
– SSH で トンネル
12
Spark 2.0 – Getting Started
• Zeppelinでアクセス
– Proxyの設定(FoxyProxy)
13
Spark 2.0 – Getting Started
• Welcome to Zeppelin
14
Spark 2.0 – Getting Started
• Zeppelinでチュートリアルを実⾏
15
Spark 2.0 – Getting Started
• “Spark DataframeのSample Code集”
– http://qiita.com/taka4sato/items/4ab2cf9e941599f1c0ca
16
Spark 2.0 – Getting Started
• ZeppelinでNotebookを作成して実⾏
– とりあえずsc
– S3のデータを読み込んでメモリ上のテーブルへ
val wholeRawLog = sc.textFile("s3n://try-spark-eshinoha/click_data_sample.csv")
val header = wholeRawLog.first()
case class Click(clickAt: String, userId: String, campaignId: String)
val click = wholeRawLog.map(s=>s.split(",")).filter(s=>s(0)!=""click.at"").map(
s=>Click(s(0).replaceAll(""", ""),
s(1).replaceAll(""", ""),
s(2).replaceAll(""", "")
)).toDF()
click.registerTempTable("click")
Scalaに慣れてなくて⽇付型の扱いとかアレで全部Stringでスミマセン…汗
17
Spark 2.0 – Getting Started
• ZeppelinでNotebookを作成して実⾏
– S3から取り込んだデータをSQLを使って集計

Weitere ähnliche Inhalte

Was ist angesagt?

Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Web Services Japan
 

Was ist angesagt? (20)

オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法オンプレミスRDBMSをAWSへ移行する手法
オンプレミスRDBMSをAWSへ移行する手法
 
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
Amazon Elastic MapReduce with Hive/Presto ハンズオン(講義)
 
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
 
AWS ML Update
AWS ML UpdateAWS ML Update
AWS ML Update
 
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶスケーラブルな Deep Leaning  フレームワーク "Apache MXNet” を AWS で学ぶ
スケーラブルな Deep Leaning フレームワーク "Apache MXNet” を AWS で学ぶ
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
 
AWS Black Belt Online Seminar 2017 Amazon S3
AWS Black Belt Online Seminar 2017 Amazon S3AWS Black Belt Online Seminar 2017 Amazon S3
AWS Black Belt Online Seminar 2017 Amazon S3
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理[Black Belt Online Seminar] AWS上でのログ管理
[Black Belt Online Seminar] AWS上でのログ管理
 
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
日本最大の即レスサービス「アンサー」を支える Amazon DynamoDB
 
2017年1月のAWSサービスアップデートまとめ
 2017年1月のAWSサービスアップデートまとめ 2017年1月のAWSサービスアップデートまとめ
2017年1月のAWSサービスアップデートまとめ
 
AWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearchAWS Black Belt Techシリーズ Amazon CloudSearch
AWS Black Belt Techシリーズ Amazon CloudSearch
 
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
 
Amazon Elasticsearch Serviceを利用したAWSのログ活用
Amazon Elasticsearch Serviceを利用したAWSのログ活用Amazon Elasticsearch Serviceを利用したAWSのログ活用
Amazon Elasticsearch Serviceを利用したAWSのログ活用
 
Growing up serverless
Growing up serverlessGrowing up serverless
Growing up serverless
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
 
AWS Search Services
AWS Search ServicesAWS Search Services
AWS Search Services
 
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
頑張らないクラウド最適化 〜クラウドネイティブだけでないAWS活用〜
 
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
[Aurora事例祭り]AWS Database Migration Service と Schema Conversion Tool の使いドコロ
 

Ähnlich wie 個人的にAmazon EMR5.0.0でSpark 2.0を使ってZeppelinでSQL集計してみる

Ähnlich wie 個人的にAmazon EMR5.0.0でSpark 2.0を使ってZeppelinでSQL集計してみる (20)

AWS Black Belt Online Seminar 2016 Amazon EMR
AWS Black Belt Online Seminar 2016 Amazon EMRAWS Black Belt Online Seminar 2016 Amazon EMR
AWS Black Belt Online Seminar 2016 Amazon EMR
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
Deep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance TuningDeep Dive into Spark SQL with Advanced Performance Tuning
Deep Dive into Spark SQL with Advanced Performance Tuning
 
Big datauniversity
Big datauniversityBig datauniversity
Big datauniversity
 
Apache Sparkやってみたところ
Apache SparkやってみたところApache Sparkやってみたところ
Apache Sparkやってみたところ
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
App Engine と いまどきのPHP
App Engine と いまどきのPHPApp Engine と いまどきのPHP
App Engine と いまどきのPHP
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめBigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
BigDataUnivercity 2017年改めてApache Sparkとデータサイエンスの関係についてのまとめ
 
[Oracle big data jam session #1] Apache Spark ことはじめ
[Oracle big data jam session #1] Apache Spark ことはじめ[Oracle big data jam session #1] Apache Spark ことはじめ
[Oracle big data jam session #1] Apache Spark ことはじめ
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
Machine Learning on AWS
Machine Learning on AWS Machine Learning on AWS
Machine Learning on AWS
 
Yifeng spark-final-public
Yifeng spark-final-publicYifeng spark-final-public
Yifeng spark-final-public
 
Sparkにプルリク投げてみた
Sparkにプルリク投げてみたSparkにプルリク投げてみた
Sparkにプルリク投げてみた
 
Apache Spark + Arrow
Apache Spark + ArrowApache Spark + Arrow
Apache Spark + Arrow
 
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 キーノート講演資料)
 
S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話S3 整合性モデルと Hadoop/Spark の話
S3 整合性モデルと Hadoop/Spark の話
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
Apache Sparkについて
Apache SparkについてApache Sparkについて
Apache Sparkについて
 

Mehr von Eiji Shinohara

Mehr von Eiji Shinohara (20)

Indexing with Algolia Ruby API Client
Indexing with Algolia Ruby API ClientIndexing with Algolia Ruby API Client
Indexing with Algolia Ruby API Client
 
Getting Started Algolia with InstantSearch.js
Getting Started Algolia with InstantSearch.jsGetting Started Algolia with InstantSearch.js
Getting Started Algolia with InstantSearch.js
 
Algolia introduction in Kanazawa - July 2019
Algolia introduction in Kanazawa - July 2019Algolia introduction in Kanazawa - July 2019
Algolia introduction in Kanazawa - July 2019
 
Scalable and Cost Effective Systems Architecture on AWS
Scalable and Cost Effective Systems Architecture on AWSScalable and Cost Effective Systems Architecture on AWS
Scalable and Cost Effective Systems Architecture on AWS
 
#AWSAdTechJP
#AWSAdTechJP#AWSAdTechJP
#AWSAdTechJP
 
Accelerating AdTech on AWS in Japan
Accelerating AdTech on AWS in JapanAccelerating AdTech on AWS in Japan
Accelerating AdTech on AWS in Japan
 
AWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote RecapAWS Summit New York 2017 Keynote Recap
AWS Summit New York 2017 Keynote Recap
 
#CTONight powered by AWS
#CTONight powered by AWS#CTONight powered by AWS
#CTONight powered by AWS
 
SolrCloud on Amazon ECS
SolrCloud on Amazon ECSSolrCloud on Amazon ECS
SolrCloud on Amazon ECS
 
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
 
Search Solutions on AWS
Search Solutions on AWSSearch Solutions on AWS
Search Solutions on AWS
 
Global AWS AdTech use-cases
Global AWS AdTech use-casesGlobal AWS AdTech use-cases
Global AWS AdTech use-cases
 
IVS CTO Night and Day Recap - #CTONight 2016 Winter
IVS CTO Night and Day Recap - #CTONight 2016 WinterIVS CTO Night and Day Recap - #CTONight 2016 Winter
IVS CTO Night and Day Recap - #CTONight 2016 Winter
 
Tips for getting the most out of AWS re:Invent IN ENGLISH
Tips for getting the most out of AWS re:Invent IN ENGLISHTips for getting the most out of AWS re:Invent IN ENGLISH
Tips for getting the most out of AWS re:Invent IN ENGLISH
 
検索技術の活用による広告配信Relevance向上
検索技術の活用による広告配信Relevance向上検索技術の活用による広告配信Relevance向上
検索技術の活用による広告配信Relevance向上
 
エンジニアの為のAWS実践講座
エンジニアの為のAWS実践講座エンジニアの為のAWS実践講座
エンジニアの為のAWS実践講座
 
AWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECS
AWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECSAWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECS
AWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECS
 
IVS CTO Night and Day Recap - #CTONight 2016 Spring
IVS CTO Night and Day Recap - #CTONight 2016 SpringIVS CTO Night and Day Recap - #CTONight 2016 Spring
IVS CTO Night and Day Recap - #CTONight 2016 Spring
 
Ad Tech on AWS - IVS CTO Night and Day Spring 2016
Ad Tech on AWS - IVS CTO Night and Day Spring 2016Ad Tech on AWS - IVS CTO Night and Day Spring 2016
Ad Tech on AWS - IVS CTO Night and Day Spring 2016
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

個人的にAmazon EMR5.0.0でSpark 2.0を使ってZeppelinでSQL集計してみる

  • 1. 1 個⼈的に Amazon EMR 5.0.0 で Spark 2.0 を使ってZeppelin で SQL集計 してみる 2016年8⽉ 篠原英治
  • 2. 2 Amazon EMR – 2016年のアップデート • 1⽉: EMR 4.3.0 – Spark, Presto, Ganglia • 3⽉: EMR 4.4.0 – Sqoop, HCatalog, Java 8, 他 • 4⽉: EMR 4.5.0 – Hadoop, Presto, SparkとEMRFS追加 • 4⽉: EMR 4.6.0 – 巨⼤データへのリアルタイムアクセス⽤ に、Hbase • 6⽉: EMR 4.7.0 – Apache Tez, Apache Phoenix, Presto, HBase, Mahout • 8⽉: EMR 5.0.0 - メジャーアップデート! https://aws.amazon.com/jp/blogs/news/amazon-emr-5-0-0-major-app-updates-ui- improvements-better-debugging-and-more/
  • 3. 3 Amazon EMR – 5.0.0 • 16のオープンソースのHadoopエコシステムプロジェクトを サポート • SparkとHiveのメジャーバージョンアップ • TezがHiveとPigのデフォルトに • HueとZeppelinのUI改善 • デバッグ機能の改良 https://aws.amazon.com/jp/blogs/news/amazon-emr-5-0-0-major-app-updates-ui- improvements-better-debugging-and-more/
  • 5. 5 Amazon EMR – 5.0.0 – Spark 2.0
  • 6. 6 Amazon EMR – 5.0.0 – Spark 2.0.0
  • 7. 7 Spark 2.0 – Machine Learning • Announcement: DataFrame-based API is primary API – DataFrame-basedのAPIがプライマリのAPIに • The MLlib RDD-based API is now in maintenance mode – MLlib RDD-based APIはメンテナンスモードに http://spark.apache.org/docs/latest/ml-guide.html
  • 8. 8 Spark 2.0 – Machine Learning • As of Spark 2.0, the RDD-based APIs in the spark.mllib package have entered maintenance mode – Spark2.0からspark.mllibパッケージのRDD-based APIは メンテナンスモードに • The primary Machine Learning API for Spark is now the DataFrame-based API in the spark.ml package – Sparkにおけるプライマリな機械学習APIはspark.mlパッ ケージのDataFrame-based APIに http://spark.apache.org/docs/latest/ml-guide.html
  • 9. 9 Spark 2.0 – Machine Learning • RDD-based API ⇒ DataFrame-based APIへ – spark.mllib のサポートは基本的にはバグフィックス – RDD-based APIには新しい機能追加は⾏わない – Spark 2.xのリリースでMLlibはDataFrame-based APIに 機能追加を⾏い、RDD-based APIに追いつく – DataFrame-based APIがRDD-based APIに追いついたら (おおよそSpark 2.2)、RDD-based APIはdeprecatedに – RDD-based APIはSpark 3.0で削除予定 http://spark.apache.org/docs/latest/ml-guide.html
  • 10. 10 Spark 2.0 – Machine Learning • なぜDataFrame-based APIか? – DataFrameはRDDよりユーザーフレンドリーなAPIを提供 • Spark Datasources • SQL/DataFrame queries • Tungsten and Catalyst optimizations • ⾔語によらない統合されたAPI – DataFrame-based API for Mllibは機械学習アルゴリズム及び ⾔語によらない統合されたAPIを提供する – DataFrameは実践的なfeature transformations(tokenize, normalize, n-gram等)といった機械学習パイプラインを提供 http://spark.apache.org/docs/latest/ml-guide.html
  • 11. 11 Spark 2.0 – Getting Started • Zeppelinでアクセス – Security Group で SSH の設定 – SSH で トンネル
  • 12. 12 Spark 2.0 – Getting Started • Zeppelinでアクセス – Proxyの設定(FoxyProxy)
  • 13. 13 Spark 2.0 – Getting Started • Welcome to Zeppelin
  • 14. 14 Spark 2.0 – Getting Started • Zeppelinでチュートリアルを実⾏
  • 15. 15 Spark 2.0 – Getting Started • “Spark DataframeのSample Code集” – http://qiita.com/taka4sato/items/4ab2cf9e941599f1c0ca
  • 16. 16 Spark 2.0 – Getting Started • ZeppelinでNotebookを作成して実⾏ – とりあえずsc – S3のデータを読み込んでメモリ上のテーブルへ val wholeRawLog = sc.textFile("s3n://try-spark-eshinoha/click_data_sample.csv") val header = wholeRawLog.first() case class Click(clickAt: String, userId: String, campaignId: String) val click = wholeRawLog.map(s=>s.split(",")).filter(s=>s(0)!=""click.at"").map( s=>Click(s(0).replaceAll(""", ""), s(1).replaceAll(""", ""), s(2).replaceAll(""", "") )).toDF() click.registerTempTable("click") Scalaに慣れてなくて⽇付型の扱いとかアレで全部Stringでスミマセン…汗
  • 17. 17 Spark 2.0 – Getting Started • ZeppelinでNotebookを作成して実⾏ – S3から取り込んだデータをSQLを使って集計