SlideShare a Scribd company logo
1 of 25
re:Invent 2016報告
AWS Athenaを使ってみて
フェンリル株式会社
岩瀬 高博
Copyright © 2016 Fenrir Inc. All Right Reserved. 1
自己紹介
• 岩瀬 高博(いわせ たかひろ)
@okuyamaoo
• フェンリル株式会社 所属
ウェブ共同開発部 マネージャー
経歴
・オープンソース開発(分散KVS、CEP等)
https://github.com/okuyamaoo
・EC向け検索エンジンサービス開発・運用
・独立行政法人 情報通信研究機構 特別研究員
・人工知能学会等での学会登壇や、全国大会オーガナイザ等…
Copyright © 2016 Fenrir Inc. All Right Reserved. 2
車に乗るのも好きです
今日のお題
• re:Inventで発表された新サービスAthena
• 実際に使ってみる
• まとめ
Copyright © 2016 Fenrir Inc. All Right Reserved. 3
Copyright © 2016 Fenrir Inc. All Right Reserved. 4
re:Inventで発表された新サービスAthena
Amazon Athenaって?
Copyright © 2016 Fenrir Inc. All Right Reserved. 5
• Serverless Interactive Query Service
• S3上のJSONやCSVなどのフォーマットに一貫性がある
ファイルにSQLでのクエリが実行可能
• RDSやRedshiftのようなインスタンスの存在が不要
S3だけで利用可能
• Prestoベースの分散SQLエンジンで構成されている
クエリを実行すると並列化され処理される
• ダッシュボードにコンソールもあるので即試せる
Amazon Athena
re:Inventで分析系のサービスで発表
Copyright © 2016 Fenrir Inc. All Right Reserved. 6
Athenaを使ってみる
Athenaを使ってみる①
Copyright © 2016 Fenrir Inc. All Right Reserved. 7
・ダッシュボードからサービス選択(分析にカテゴライズ)
・現在はバージニアとオレゴンでのみ利用可能
Athenaを使ってみる②
Copyright © 2016 Fenrir Inc. All Right Reserved. 8
・S3に事前にログファイルをアップロード
今回はアクセスログをアップロード(区切りはカンマ)
・この際権限は特に気にする必要なし
S3
Athenaを使ってみる③
Copyright © 2016 Fenrir Inc. All Right Reserved. 9
・Catalog Managerでデータベースを作成
いきなりSQLが流せるわけではない。
・左メニューの+Add tableから
Athenaを使ってみる④
Copyright © 2016 Fenrir Inc. All Right Reserved. 10
・Catalog Managerでデータベースを作成と同時に作成するテーブル名と
S3のロケーションを指定
・S3のロケーションは”s3://<バケット名>/<データファイルのフォルダ名>/”
Athenaを使ってみる⑤
Copyright © 2016 Fenrir Inc. All Right Reserved. 11
・S3のフォルダ配下のファイルのフォーマット指定
ここではCSVを指定
・指定しているフォーマットとS3のファイルがアンマッチでもエラーは出ない
Athenaを使ってみる⑥
Copyright © 2016 Fenrir Inc. All Right Reserved. 12
・次にカラムを追加
カラム名と型を指定
・指定しているカラムとS3のファイルがアンマッチでもエラーは出ない
Athenaを使ってみる⑦
Copyright © 2016 Fenrir Inc. All Right Reserved. 13
・最後にパーティション指定
・パーティションはデータファイルの特定のカラムをキーとしてデータを分割
Athenaを使ってみる⑧
Copyright © 2016 Fenrir Inc. All Right Reserved. 14
・[Create table] ボタンでQuery Editorに移動
・Catalog Managerでの指定がクエリ化されて登場
・[Run Query]ボタンで実行
Athenaを使ってみる⑨
Copyright © 2016 Fenrir Inc. All Right Reserved. 15
・指定が間違えているとエラーが表示される
この例ではバケット名を間違えています
Athenaを使ってみる⑩
Copyright © 2016 Fenrir Inc. All Right Reserved. 16
・成功すればResults欄にsuccessfulが出て終了
・データファイルとカラム定義が異なってもエラーは出ない
Copyright © 2016 Fenrir Inc. All Right Reserved. 17
・テーブルに対してSELECTクエリを発行
Copyright © 2016 Fenrir Inc. All Right Reserved. 18
・一般的な関数、Where句も指定可能
limit、count、and、like等
Copyright © 2016 Fenrir Inc. All Right Reserved. 19
・JOINも可能
ここではアクセスログのIPアドレスとIPアドレスのマスターとなる
ファイルをJOIN結合
Copyright © 2016 Fenrir Inc. All Right Reserved. 20
・insert into <table_name> values(…) 句はエラー
・テーブル定義でカラム指定を間違えた場合はクエリ時にエラーメッセージ
・insert into <table_name> select * … 句は特に動き無し データも増えな
い
Athenaを使ってみる(性能確認)
Copyright © 2016 Fenrir Inc. All Right Reserved. 21
・10万行のログファイルを順次アップロードし都度クエリを実行し性能を検証
・クエリは
>SELECT〜FROM〜WHERE
>SELECT〜FROM JOIN〜WHERE〜 ORDER BY
S3
10万行(約9MB)のログファイル
Athenaを使ってみる(性能確認)
Copyright © 2016 Fenrir Inc. All Right Reserved. 22
クエリ①
SELECT
COUNT(*) AS cnt
FROM
testaccesslogsv1
WHERE
col9 = '401';
クエリ②
SELECT
t1.col1,
t2.hostname1
FROM
testaccesslogsv1 t1 LEFT OUTER
JOIN addressmster t2
ON t1.col1 = t2.ipaddress
WHERE
t1.col9 = '401'
ORDER BY t1.col1 DESC
LIMIT10
Athenaを使ってみる(性能確認)
Copyright © 2016 Fenrir Inc. All Right Reserved. 23
ログ行数 SELECTクエリ
(単純)
SELECTクエリ
(結合+ソート有りSELECT)
10万(約9MB) 4.96seconds (未計測)
20万(約18MB) 5.16seconds (未計測)
50万(約45MB) 5.37seconds 5.39seconds
100万(約90MB) 5.27seconds 5.14seconds
200万(約180MB) 6.11seconds 6.82seconds
500万(約450MB) 6.96seconds 6.95seconds
・10万〜100万程度(10MB〜100MB)程度のデータ規模では性能は一定
200万行程度から多少の性能劣化、ただし500万件では指数関数的な劣化無し
・JOINでの性能劣化が見られない
・連続実行していると稀に性能にばらつきが見られた。ただし概ね安定している
・もっと大きなデータで試してみたい
まとめ
• 思った以上に簡単に使える
ただデータフォーマットは一定である必要が
あるので事前設計は必須
• 利用用途としてはベース性能から分析の
バックエンドが本命か
ただ意外に5〜6秒は悪くないので他も検討したい
JDBC接続も!
• 現在のログファイルを S3へ保存し必要時は
取り出して処理と比べた場合、作業効率化は
素晴らしい!!
Copyright © 2016 Fenrir Inc. All Right Reserved. 24
Copyright © 2016 Fenrir Inc. All Right Reserved. 25
Thank you!

More Related Content

Viewers also liked

意外と知らないFilemakerの世界
意外と知らないFilemakerの世界意外と知らないFilemakerの世界
意外と知らないFilemakerの世界Tatsuo_Ohtani
 
SYN111: What's New and Exciting with XenMobile
SYN111: What's New and Exciting with XenMobileSYN111: What's New and Exciting with XenMobile
SYN111: What's New and Exciting with XenMobileCitrix
 
Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...Mozaic Works
 
Metering and Billing for Cloud Services
Metering and Billing for Cloud ServicesMetering and Billing for Cloud Services
Metering and Billing for Cloud ServicesRanjit Nayak
 
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?MongoDB
 
MongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQuery
MongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQueryMongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQuery
MongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQueryMongoDB
 
Citrix Netscaler Deployment Guide
Citrix Netscaler Deployment GuideCitrix Netscaler Deployment Guide
Citrix Netscaler Deployment GuideCitrix
 
Filling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview Presentation
Filling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview PresentationFilling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview Presentation
Filling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview PresentationPentaho
 
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...CSCJournals
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAAndrew Morgan
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャYasuhiro Matsuo
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )Yuji Otani
 
Understanding your organisation’s digital practice - Jisc Digifest 2016
Understanding your organisation’s digital practice - Jisc Digifest 2016Understanding your organisation’s digital practice - Jisc Digifest 2016
Understanding your organisation’s digital practice - Jisc Digifest 2016Jisc
 
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...MongoDB
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例leverages_event
 
Who is your Social Media Self? College Student Motivation and Vulnerability O...
Who is your Social Media Self? College Student Motivation and Vulnerability O...Who is your Social Media Self? College Student Motivation and Vulnerability O...
Who is your Social Media Self? College Student Motivation and Vulnerability O...Paul Brown
 

Viewers also liked (17)

意外と知らないFilemakerの世界
意外と知らないFilemakerの世界意外と知らないFilemakerの世界
意外と知らないFilemakerの世界
 
SYN111: What's New and Exciting with XenMobile
SYN111: What's New and Exciting with XenMobileSYN111: What's New and Exciting with XenMobile
SYN111: What's New and Exciting with XenMobile
 
To MOOC or not to MOOC?
To MOOC or not to MOOC?To MOOC or not to MOOC?
To MOOC or not to MOOC?
 
Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
Sandro Mancuso – Testing and refactoring legacy code @ I T.A.K.E. Unconferenc...
 
Metering and Billing for Cloud Services
Metering and Billing for Cloud ServicesMetering and Billing for Cloud Services
Metering and Billing for Cloud Services
 
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
 
MongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQuery
MongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQueryMongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQuery
MongoDB Europe 2016 - Warehousing MongoDB Data using Apache Beam and BigQuery
 
Citrix Netscaler Deployment Guide
Citrix Netscaler Deployment GuideCitrix Netscaler Deployment Guide
Citrix Netscaler Deployment Guide
 
Filling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview Presentation
Filling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview PresentationFilling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview Presentation
Filling the Data Lake - Strata + HadoopWorld San Jose 2016 Preview Presentation
 
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...
Three Dimensional Database: Artificial Intelligence to eCommerce Web service ...
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
 
Understanding your organisation’s digital practice - Jisc Digifest 2016
Understanding your organisation’s digital practice - Jisc Digifest 2016Understanding your organisation’s digital practice - Jisc Digifest 2016
Understanding your organisation’s digital practice - Jisc Digifest 2016
 
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
 
Who is your Social Media Self? College Student Motivation and Vulnerability O...
Who is your Social Media Self? College Student Motivation and Vulnerability O...Who is your Social Media Self? College Student Motivation and Vulnerability O...
Who is your Social Media Self? College Student Motivation and Vulnerability O...
 

Similar to Re port aws_reinvent_161213_slideshare

Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumi
Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumiYahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumi
Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumiYahoo!デベロッパーネットワーク
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリングAmazon Web Services Japan
 
Cake Matsuri Nanapi
Cake Matsuri NanapiCake Matsuri Nanapi
Cake Matsuri NanapiShuichi Wada
 
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例知教 本間
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpYahoo!デベロッパーネットワーク
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Takashi Kanai
 
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行Amazon Web Services Japan
 
Apexで作成したrest apiをしっかり保護する方法
Apexで作成したrest apiをしっかり保護する方法Apexで作成したrest apiをしっかり保護する方法
Apexで作成したrest apiをしっかり保護する方法Kazuki Nakajima
 
20170803 bigdataevent
20170803 bigdataevent20170803 bigdataevent
20170803 bigdataeventMakoto Uehara
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops裕貴 荒井
 
JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方
JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方
JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方Yuichi Kitano
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリアシアル株式会社
 
OpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelonaOpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelonaYuki Yamashita
 
Hadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめHadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめYuta Imai
 
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...Amazon Web Services Japan
 
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuriバッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuriKazuki Negoro
 
Unification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.jsUnification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.jsHajimeSasanuma
 

Similar to Re port aws_reinvent_161213_slideshare (20)

Hadoop ~Yahoo! JAPANの活用について~
Hadoop ~Yahoo! JAPANの活用について~Hadoop ~Yahoo! JAPANの活用について~
Hadoop ~Yahoo! JAPANの活用について~
 
Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumi
Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumiYahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumi
Yahoo! JAPANが実践するOpenStackと大規模環境でのコンテナ利用 #devsumi
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング
 
Yahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnightYahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnight
 
Cake Matsuri Nanapi
Cake Matsuri NanapiCake Matsuri Nanapi
Cake Matsuri Nanapi
 
gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
 
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
Blackbelt Online Serminar Parse.comからAWSへのモバイルアプリの移行
 
Apexで作成したrest apiをしっかり保護する方法
Apexで作成したrest apiをしっかり保護する方法Apexで作成したrest apiをしっかり保護する方法
Apexで作成したrest apiをしっかり保護する方法
 
20170803 bigdataevent
20170803 bigdataevent20170803 bigdataevent
20170803 bigdataevent
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 
JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方
JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方
JAWS-UG初心者支部#15 re:Inventの事前準備と当日の動き方
 
State of the art Stream Processing #hadoopreading
State of the art Stream Processing #hadoopreadingState of the art Stream Processing #hadoopreading
State of the art Stream Processing #hadoopreading
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 
OpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelonaOpenStack summit report 2016 in barcelona
OpenStack summit report 2016 in barcelona
 
Hadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめHadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめ
 
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
 
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuriバッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri
 
Unification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.jsUnification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.js
 

More from Takahiro Iwase

20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料Takahiro Iwase
 
20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料Takahiro Iwase
 
20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料Takahiro Iwase
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)Takahiro Iwase
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssTakahiro Iwase
 
20110708 dist_study okuyama
20110708 dist_study okuyama20110708 dist_study okuyama
20110708 dist_study okuyamaTakahiro Iwase
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudyTakahiro Iwase
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会Takahiro Iwase
 
okuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoonokuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoonTakahiro Iwase
 
2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyama2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyamaTakahiro Iwase
 

More from Takahiro Iwase (12)

20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
 
20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料20131113_mysql_on_分散fsセミナー資料
20131113_mysql_on_分散fsセミナー資料
 
20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料20121205 nosql(okuyama fs)セミナー資料
20121205 nosql(okuyama fs)セミナー資料
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
Okuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ssOkuyama説明資料 20120119 ss
Okuyama説明資料 20120119 ss
 
Kvs okuyama-20110818
Kvs okuyama-20110818Kvs okuyama-20110818
Kvs okuyama-20110818
 
20110708 dist_study okuyama
20110708 dist_study okuyama20110708 dist_study okuyama
20110708 dist_study okuyama
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy
 
20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会20110517 okuyama ソーシャルメディアが育てた技術勉強会
20110517 okuyama ソーシャルメディアが育てた技術勉強会
 
okuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoonokuyama_20101101_nosqlafternoon
okuyama_20101101_nosqlafternoon
 
2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyama2010/07/09 osc kansai-kvsokuyama
2010/07/09 osc kansai-kvsokuyama
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (9)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

Re port aws_reinvent_161213_slideshare

  • 1. re:Invent 2016報告 AWS Athenaを使ってみて フェンリル株式会社 岩瀬 高博 Copyright © 2016 Fenrir Inc. All Right Reserved. 1
  • 2. 自己紹介 • 岩瀬 高博(いわせ たかひろ) @okuyamaoo • フェンリル株式会社 所属 ウェブ共同開発部 マネージャー 経歴 ・オープンソース開発(分散KVS、CEP等) https://github.com/okuyamaoo ・EC向け検索エンジンサービス開発・運用 ・独立行政法人 情報通信研究機構 特別研究員 ・人工知能学会等での学会登壇や、全国大会オーガナイザ等… Copyright © 2016 Fenrir Inc. All Right Reserved. 2 車に乗るのも好きです
  • 4. Copyright © 2016 Fenrir Inc. All Right Reserved. 4 re:Inventで発表された新サービスAthena
  • 5. Amazon Athenaって? Copyright © 2016 Fenrir Inc. All Right Reserved. 5 • Serverless Interactive Query Service • S3上のJSONやCSVなどのフォーマットに一貫性がある ファイルにSQLでのクエリが実行可能 • RDSやRedshiftのようなインスタンスの存在が不要 S3だけで利用可能 • Prestoベースの分散SQLエンジンで構成されている クエリを実行すると並列化され処理される • ダッシュボードにコンソールもあるので即試せる Amazon Athena re:Inventで分析系のサービスで発表
  • 6. Copyright © 2016 Fenrir Inc. All Right Reserved. 6 Athenaを使ってみる
  • 7. Athenaを使ってみる① Copyright © 2016 Fenrir Inc. All Right Reserved. 7 ・ダッシュボードからサービス選択(分析にカテゴライズ) ・現在はバージニアとオレゴンでのみ利用可能
  • 8. Athenaを使ってみる② Copyright © 2016 Fenrir Inc. All Right Reserved. 8 ・S3に事前にログファイルをアップロード 今回はアクセスログをアップロード(区切りはカンマ) ・この際権限は特に気にする必要なし S3
  • 9. Athenaを使ってみる③ Copyright © 2016 Fenrir Inc. All Right Reserved. 9 ・Catalog Managerでデータベースを作成 いきなりSQLが流せるわけではない。 ・左メニューの+Add tableから
  • 10. Athenaを使ってみる④ Copyright © 2016 Fenrir Inc. All Right Reserved. 10 ・Catalog Managerでデータベースを作成と同時に作成するテーブル名と S3のロケーションを指定 ・S3のロケーションは”s3://<バケット名>/<データファイルのフォルダ名>/”
  • 11. Athenaを使ってみる⑤ Copyright © 2016 Fenrir Inc. All Right Reserved. 11 ・S3のフォルダ配下のファイルのフォーマット指定 ここではCSVを指定 ・指定しているフォーマットとS3のファイルがアンマッチでもエラーは出ない
  • 12. Athenaを使ってみる⑥ Copyright © 2016 Fenrir Inc. All Right Reserved. 12 ・次にカラムを追加 カラム名と型を指定 ・指定しているカラムとS3のファイルがアンマッチでもエラーは出ない
  • 13. Athenaを使ってみる⑦ Copyright © 2016 Fenrir Inc. All Right Reserved. 13 ・最後にパーティション指定 ・パーティションはデータファイルの特定のカラムをキーとしてデータを分割
  • 14. Athenaを使ってみる⑧ Copyright © 2016 Fenrir Inc. All Right Reserved. 14 ・[Create table] ボタンでQuery Editorに移動 ・Catalog Managerでの指定がクエリ化されて登場 ・[Run Query]ボタンで実行
  • 15. Athenaを使ってみる⑨ Copyright © 2016 Fenrir Inc. All Right Reserved. 15 ・指定が間違えているとエラーが表示される この例ではバケット名を間違えています
  • 16. Athenaを使ってみる⑩ Copyright © 2016 Fenrir Inc. All Right Reserved. 16 ・成功すればResults欄にsuccessfulが出て終了 ・データファイルとカラム定義が異なってもエラーは出ない
  • 17. Copyright © 2016 Fenrir Inc. All Right Reserved. 17 ・テーブルに対してSELECTクエリを発行
  • 18. Copyright © 2016 Fenrir Inc. All Right Reserved. 18 ・一般的な関数、Where句も指定可能 limit、count、and、like等
  • 19. Copyright © 2016 Fenrir Inc. All Right Reserved. 19 ・JOINも可能 ここではアクセスログのIPアドレスとIPアドレスのマスターとなる ファイルをJOIN結合
  • 20. Copyright © 2016 Fenrir Inc. All Right Reserved. 20 ・insert into <table_name> values(…) 句はエラー ・テーブル定義でカラム指定を間違えた場合はクエリ時にエラーメッセージ ・insert into <table_name> select * … 句は特に動き無し データも増えな い
  • 21. Athenaを使ってみる(性能確認) Copyright © 2016 Fenrir Inc. All Right Reserved. 21 ・10万行のログファイルを順次アップロードし都度クエリを実行し性能を検証 ・クエリは >SELECT〜FROM〜WHERE >SELECT〜FROM JOIN〜WHERE〜 ORDER BY S3 10万行(約9MB)のログファイル
  • 22. Athenaを使ってみる(性能確認) Copyright © 2016 Fenrir Inc. All Right Reserved. 22 クエリ① SELECT COUNT(*) AS cnt FROM testaccesslogsv1 WHERE col9 = '401'; クエリ② SELECT t1.col1, t2.hostname1 FROM testaccesslogsv1 t1 LEFT OUTER JOIN addressmster t2 ON t1.col1 = t2.ipaddress WHERE t1.col9 = '401' ORDER BY t1.col1 DESC LIMIT10
  • 23. Athenaを使ってみる(性能確認) Copyright © 2016 Fenrir Inc. All Right Reserved. 23 ログ行数 SELECTクエリ (単純) SELECTクエリ (結合+ソート有りSELECT) 10万(約9MB) 4.96seconds (未計測) 20万(約18MB) 5.16seconds (未計測) 50万(約45MB) 5.37seconds 5.39seconds 100万(約90MB) 5.27seconds 5.14seconds 200万(約180MB) 6.11seconds 6.82seconds 500万(約450MB) 6.96seconds 6.95seconds ・10万〜100万程度(10MB〜100MB)程度のデータ規模では性能は一定 200万行程度から多少の性能劣化、ただし500万件では指数関数的な劣化無し ・JOINでの性能劣化が見られない ・連続実行していると稀に性能にばらつきが見られた。ただし概ね安定している ・もっと大きなデータで試してみたい
  • 25. Copyright © 2016 Fenrir Inc. All Right Reserved. 25 Thank you!