SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
1
【AWS Black Belt Online Seminar】
Amazon EMR
アマゾン ウェブ サービス ジャパン株式会社
2016.10.26
2
自己紹介
名前:半場 光晴(はんば みつはる)
所属:
– アマゾン ウェブ サービス ジャパン株式会社
– メディア・エンターテイメント部
– ソリューションアーキテクト
好きなAWSサービス:Kinesis, S3, EMR
2
3
本資料では2016年10月26日時点のサービス内容および価格についてご説明しています。
最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。
資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価
格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。
内容についての注意点
AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in
accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any
pricing information included in this document is provided only as an estimate of usage charges for AWS
services based on certain information that you have provided. Monthly charges will be based on your actual
use of AWS services, and may vary from the estimates provided.
価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、
別途消費税をご請求させていただきます。
4
Agenda
• はじめに
• 分散処理基盤としてのAmazon EMR
• Amazon EMR主要アップデート (2015/10以降)
• 分散処理アプリケーションとしてのAmazon EMR
• まとめ
5
Amazon EMRの歴史
• 2009年に最初のリリース
– MapReduceジョブを、ボタン1つで実行
できる環境を提供
• Hadoopエコシステムの進化に
対応
– Pig, Hive, HBase, Impala, Presto,
Hue, Hadoop 2.0, Spark
• AWSサービスの進化に対応
– Spot, IAM, DynamoDB, VPC,
CloudWatch, CLI, Kinesis, KMS
→ もはやMapReduceだ
けではない!
Storage
S3 (EMRFS), HDFS
YARN
Cluster Resource Management
Batch
MapReduce
Interactive
Tez
In Memory
Spark
Applications
Hive, Pig, Spark SQL/Streaming/ML, Mahout, Sqoop
HBase/
Phoenix
Presto
Hue (SQL Interface/Metastore Management)
Zeppelin (Interactive Notebook)
Ganglia (Monitoring)
HiveServer2/Spark Thriftserver (JDBC/ODBC)
Amazon EMR service
6
ビッグデータパイプライン
S3
Kinesis
DynamoDB
AWS Lambda
KCL Apps
EMR
EMR Redshift
Machine
Learning
Collect Process Analyze
Store
Data Collection
and Storage
Data
Processing
Event
Processing
Data
Analysis
Data Answers
7
分散処理基盤
• 分散処理に必要なリソー
スを簡単に調達/廃棄可能
– Master/Core/Task node
– EMRFS
– Bootstrap Action, Steps
分散処理アプリケーション
• 複雑な設定無しに分散アプ
リケーションを利用可能
– Hadoop, YARN
– Hive, Pig, HBase, Spark..
Amazon EMRを構成する2つの要素
8
分散処理基盤としてのAmazon EMR
- アーキテクチャ -
9
Task Node
Task Instance Group
Amazon EMRのアーキテクチャ
security group
security group
Master Node
Master Instance Group
Amazon S3
Amazon
DynamoDB
Amazon
Kinesis
Core Node
Core Instance Group
HDFS HDFS
HDFS HDFS
Task Node
Task Instance Group
スレーブ群を
管理
HDFS
アクセス
AWSサービス
アクセス
10
Amazon EMR Master Instance Group
• Master Nodeは1つ
– Failoverは非対応
• いわゆるマスターの役
割を担う
– NameNodeや
ResourceManagerなど
が動く
– Core NodeやTask
Nodeの監視
Master Node
Master Instance Group
Hadoop1: JobTracker
Hadoop2: ResourceManager
HDFS: NameNode
Hive: HiveServer, MetaStore
Presto: Coordinator
11
Amazon EMR Core Instance Group
• 1つ以上のCore Node
• いわゆるスレーブの役
割を担う
– NodeManagerなど
– DataNodeが動きロー
カルディスクがHDFS
として使われる
• インスタンスストアと
EBS、どちらもOK
HDFS
Core Node
Core Instance Group
Hadoop1: TaskTracker
Hadoop2: NodeManager
HDFS: DataNode
Presto: Worker
12
Amazon EMR Core Instance Group
• Core Node追加可能
– HDFS容量増加
– CPU/RAM増設
• HDFSを持っているた
め、削減はできない
– 4.1.0からは削減も可
能に
HDFS
Core Node
Core Instance Group
Hadoop1: TaskTracker
Hadoop2: NodeManager
HDFS: DataNode
Presto: Worker
13
Amazon EMR Task Instance Group
• HDFSを持たない以外
はCoreと同じ役割
• HDFSのデータは
Core Nodeにアクセ
スする
• HDFSを持たないので
削除もより自由
– Decommissionが不要
Task Node
Task Instance Group
Hadoop1: TaskTracker
Hadoop2: NodeManager
(Presto: Worker)
14
Amazon EMR Task Instance Group
• 複数Group設定可能
– Spotのbid価格を調整
– Instance Typeを調整
• 余っているRIを活用
したり、市場価格に
合わせてSpotを調整
したりと柔軟に対応
Task Instance Group 2
Task Instance Group 1
c3.xlarge * 2
bid: $0.1
r3.xlarge * 2
bid: $0.5
15
Spot Instanceの活用例
Task Instance GroupCore Instance Group
予測されたコストで最低要件を満たす 低コストでより高速に
On-demandを
Core Nodeに利用
最低要件を満たすだけ
のキャパシティをOn-
demand価格で確保
Spot Instanceを
Task Nodeに利用
On-demandの最大90%
引き程度の価格で追加の
リソースを確保
例: m4.xlarge 6台で10時間かかる処理 (倍の12台なら、5時間で終わると仮定)
Core Node(On-demand)のみ: $0.348×10h×6台 = $20.88 で10時間※
Task Node(Spot)で倍に: $0.348×5h×6台 + $0.04×5h×6台 = $11.64 で5時間※
※2016年10月19日現在のap-northeast-1の価格です。Spotの価格は時によって変動するので仮の価格です。
16
分散処理基盤としてのAmazon EMR
- 機能・特徴 -
17
EMRFS: Amazon S3をHDFSの様に扱う
• 計算資源とストレージを分離できる
• クラスタのシャットダウンが可能
– クラスタを消してもデータをロストしない
• 複数クラスタ間でデータ共有が簡単
– クラスタのバージョンアップ検証が並行できる
• データの高い耐久性
EMR
EMR
Amazon
S3
18
EMRFSの特徴
• “s3://”と指定するだけで利用可能
• Amazon S3の機能がそのまま使える
– 例: 古いデータはAmazon Glacierに自動で移動させる
• Amazon S3のサーバサイド・クライアントサイ
ドの暗号化も利用可能
– 他のアプリでクライアント暗号化したAmazon S3データも読み
出し可能
• クラスタを消してもデータは消えない
19
EMRFSのConsistent View
• Amazon S3の整合性は以下のとおり
– 新しいオブジェクトのPUT → 書き込み後の読み
取り整合性 (Read-after-write consistency)
– 上書きPUT/DELETE → 結果整合性 (Eventual
consistency)
• EMRFSではConsistent Viewを提供
– Amazon DynamoDBにメタデータを格納し整合
性を担保
• List Consistency
• Delete Consistency
• Read-after-write Consistency
– 結果としてオブジェクトのリスト取得も高速に
Amazon S3 Amazon DynamoDB
EMRFSの
メタデータを格納
https://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-plan-consistent-view.html
20
Amazon EMRならではの使い方
• 必要な時だけクラスタ起動
– 消せばお金はかからない
– 処理が終わったら自動で消え
る設定も可能
• データは全てAmazon S3
– クラスタを消してもデータは
消えない
– データを貯める段階ではクラ
スタ不要
t
21
Amazon EMRの機能: Bootstrap Action
• 全てのNode起動時に実行されるスクリプト
– 実行可能ファイルであれば何でもOK
• Bash, Ruby, Python, etc.
– Amazon S3に置いて指定、コマンドライン引数も自由に指定
– 事前にApache Bigtopにカスタムアプリケーションを追加して
パッケージやリポジトリを作成しておき、Bootstrapでデプロ
イするということも可能
• http://aws.typepad.com/sajp/2016/09/building-and-
deploying-custom-applications-with-apache-bigtop-and-
amazon-emr.html
22
Amazon EMRの機能: Step
• 任意のタイミングで設定/追加できる処理
– クラスタ起動時に設定することもできるし、起動しているクラスタに後から追加する
こともできる
– 例: 日次のETL処理を行うHiveQL実行
• Amazon S3のURI、または、ローカルのファイルパスをして実行
– S3上のjarファイルを指定して実行など
– Streaming, Hive, Pig, SparkはEMRがサポート (command-runner.jarの利用)
– script-runner.jarでbashスクリプトを実行させることも可能
• 最後のStepが終わったら自動でクラスタを終了させることもでき
る(Auto-terminate)
23
Amazon EMRでのジョブ実行方法
クラスタの外から
• Stepで実行
– Amazon EMRの仕組みの上で実行
• マネージメントコンソールやCLI
• AWS SDK
• IAM
– 成功/失敗等を簡単に管理できる
– 現状はシリアル実行のみ
• AWSサービスから実行
– Lambda
– Data Pipeline
• 各種スケジューラから実行
Amazon EMR
Amazon EMR
Step API
AWS Data Pipeline
Airflow, Luigi, or other
schedulers on EC2
AWS Lambda
24
Amazon EMRでのジョブ実行方法
クラスタ上から実行
• 各アプリケーション毎のインタフェースで実行
– Master Nodeにsshして、コマンド実行
– HiveServer2, spark-submit等でジョブを実行
– Zeppelin, Hue, spark-jobserver等でGUIからジョブを実行
– Oozie等で一連のワークフローとしてジョブを実行
Web UIs: Hue SQL editor, Zeppelin
notebooks,
R Studio, and more!
Connect with ODBC / JDBC using
HiveServer2/Spark Thriftserver
Use Spark Actions in your Apache Oozie
workflow to create DAGs of jobs.
(start using
start-thriftserver.sh)
Or, use the native APIs and CLIs for
each application
25
Amazon EMR主要アップデート(2015/10以降)
26
Amazon EMR主要アップデート (2015/10以降)
• Private SubnetでもEMRが起動可能に
• EBSの設定が可能に & M4/C4もサポート
• Apache Spark, Tez, Hadoop MapReduceでデー
タ暗号化が可能に
• Apache HiveとApache Spark用のEMR-
DynamoDBコネクターをOSSとして公開
• Release 4.x, 5.x
27
Private SubnetでもEMRが起動可能に
• SubnetがPrivateでも起
動可能に
– EMR 4.2.0以降で対応
• Publicとの違い
– S3のVPC endpointが必要
– DynamoDB等へのアクセ
スにはNAT GW等が必要
– EMR Serviceが利用する
Security Groupが必要
https://aws.amazon.com/about-aws/whats-new/2015/12/launch-amazon-emr-clusters-in-amazon-
vpc-private-subnets/
28
EBSの設定が可能に
そして、インスタンスタイプM4/C4もサポート
• EMRのAPI等からEBSを
設定可能に
– HDFSなどをより大容量に
することが可能に
– タイプ、サイズ等を指定可
能
– CloudFormationからも設
定可能
• EBSのSC1/ST1もサポー
ト
– HDFSで効果を発揮する
• M4とC4が利用可能に
https://aws.amazon.com/about-aws/whats-new/2016/02/amazon-emr-now-supports-amazon-ebs-
volumes-and-m4-and-c4-amazon-ec2-families/
29
Apache Spark, Tez, Hadoop MapReduceで
データ暗号化が可能に
https://aws.amazon.com/about-aws/whats-new/2016/09/amazon-emr-now-supports-data-
encryption-for-apache-spark-tez-and-hadoop-mapreduce/
• at-restの時も、in-transitの時
も、データ暗号化が可能に
• at-rest
– EMRFS, HDFS、そして、 ローカル
ファイルシステムに保存されている
データが対象
• in-transit
– TLSを利用
• EMRのセキュリティ設定機能
で簡単に設定可能
30
Apache HiveとApache Spark用のEMR-
DynamoDBコネクターをOSSとして公開
• DynamoDBへ直接アクセスが可能
• DynamoDBのテーブルと、EMRからアクセス可能
な他のデータをJOINすることも可能
• GitHub
– https://github.com/awslabs/emr-dynamodb-connector
https://aws.amazon.com/about-aws/whats-new/2016/09/the-amazon-emr-dynamodb-connector-for-
apache-hive-and-apache-spark-is-now-open-source/
31
Amazon EMR Release (2015/07以降)
• Release 4.0.0 – 2015/07
• Release 4.1.0 – 2015/09
• Release 4.2.0 – 2015/11
• Release 4.3.0 – 2016/01
• Release 4.4.0 – 2016/03
• Release 4.5.0 – 2016/04
• Release 4.6.0 – 2016/04
• Release 4.7.1 – 2016/06
• Release 4.7.2 – 2016/07
• Release 5.0.0 – 2016/08
• 約12ヶ月間で10回のリ
リース
• 進化の早いHadoopエ
コシステムに追従して
いくため
http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-release-
components.html
http://bigtop.apache.org/
32
Amazon EMR Release登場
• ポートやパスを標準的なものへ変更
– Amazon EMR独自の設定から、オープンソースの標準設定へ
• アプリケーションの設定を直接的に変更できる様に
– 設定ファイルを編集するのではなく、パラメータを直接指定できる
• マネージメントコンソール、ドキュメントも刷新
– Quick Createでより簡単にクラスタ作成
– ドキュメントは、Management GuideとRelease Guideへ
※従来のAMIベースのバージョンの時との差分について、ドキュメントに詳細がまとまっています
http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-release-differences.html
33
Release: ポートやパスの変更
• オープンソースの標準的な設定に変更
– 従来はカスタムのポートやパスを利用していた
– 変更例:
• yarn.resourcemanager.webapp.address port 9026 => 8088
• /home/hadoop/hive => /usr/lib/hive, /etc/hive/conf, /var/log/hive
• 実行ユーザもコンポーネント毎に別ユーザへ
– 従来は全てhadoopユーザだった
– yarnユーザ、hiveユーザなどに変更
34
Release: アプリケーションの設定変更
• Classification + Propertiesで直接的な指定
– 従来はBootstrap Actionなどで変更していた
– 以下の様な構造のデータを指定するだけで設定変更可能になった
http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html
e.g. /etc/hadoop/conf/mapred-site.xml
に設定値が記述される
35
Release: コンソール、ドキュメント変更
• マネージメントコンソールでQuick Create可能に
– ソフトウェア、ハードウェア、セキュリティの3項目だけ
– 従来通りのコンソールもGo to advanced optionsのリンクから利用可能
• ドキュメントが新たにリリース
– Management Guide
• Amazon EMRのサービスとプラットフォームに関するドキュメント
• http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide
– Release Guide
• インストールされているソフトウェア等のリリースに関するドキュメント
• http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide
36
アプリケーションの変更履歴 (〜4.7.2) 続く
37
アプリケーションの変更履歴 (〜4.7.2)
38
アプリケーションの変更履歴 (〜5.0.0)
39
Release 5.0.0
• アプリケーション更新
– Hive 2.1
– Presto 0.150
– Spark 2.0 (Scala 2.11)
– Hue 3.10.0
– Pig 0.16.0
– Tez 0.8.4
– Zeppelin 0.6.1
• デフォルト変更
– Java 8
– Tez (Hive, Pig)
• デバッグ改善
– Stepの失敗理由が簡単に見
れる様に
• Sandboxが無くなった
– アプリケーション名が変更
されたので注意
40
Amazon EMR Application 紹介 for 5.0.0
• 分散処理系
– Hadoop, Hive, Tez,
Spark, Presto, Pig,
Mahout, Sqoop
• データベース系
– HBase, Phoenix
• GUI系
– Hue, Zeppelin
• スケジューラー系
– Oozie
• その他
– Ganglia, HCatalog,
Zookeeper
41
Application 紹介: 分散処理系
• Hadoop
– 分散処理の基盤。YARN(リソース管理)+HDFS(分散ストレージ)の上で、
各種アプリが実行される。MapReduceもその1つ。多くのEMRアプリが
YARNを使うので、ほぼ必須。
• Hive
– YARN上で実行される、分散SQL実行環境。実行エンジンとして
MapReduceなどが使える。S3のデータを直接読み書き可能。
• Tez
– YARN上でDAG(有効非巡回グラフ)を実行するのに最適化したエンジン。
Hiveの実行エンジンに指定するだけで、多くのHiveクエリが高速化する。
42
Application 紹介: 分散処理系
• Spark
– 分散処理のフレームワーク。YARN上で実行でき、MapReduce
よりも高速かつ簡単に分散処理可能。Spark上でSpark
SQL(Hive互換)やSpark Streaming(ストリーム処理), MLlib(機
械学習)といったこともでき、今最も注目されるプロジェクト。
• Presto
– 分散SQL実行エンジン。YARNではなく独自のクラスタ構成だが、
SQLの実行に特化していてかなり高速。異なるストレージ間で
のJOINも可能。SQLはANSI SQL準拠。
43
Application 紹介: 分散処理系
• Pig
– MapReduceを独自DSLで定義して実行できる。新規で使われるこ
とは最近少なくなってきた。
• Mahout
– MapReduceやSpark上で動く機械学習ライブラリ。新規で使われ
ることは最近少なくなってきた。
• Sqoop
– RDBMSと、HDFSやS3の間でのデータの移動をMapReduceで分散
処理する。
44
Application 紹介: データベース系
• HBase
– HDFS上に構成される分散KVS。高いスループットや大容量な
データの扱いが得意。
• Phoenix
– HBaseのデータに対してSQLインタフェースでアクセスできる。
45
Application 紹介: GUI & スケジューラー系
• Hue
– Hiveのテーブルを管理、クエリを実行して結果を確認できるGUI。
• Zeppelin
– GUIからSparkのコードやSpark SQLを実行したり、結果をグラフ
などで可視化し、それを保存・再実行できるノートブック。
• Oozie
– ワークフローを定義してスケジュール実行できる。MapReduceや
Hiveなどをジョブとして扱える。
46
Application 紹介: その他
• Ganglia
– インスタンスのリソース(CPU,Memory,Network等)の状態を収集
して、可視化できる運用ソフト。
• HCatalog
– HiveのテーブルにPig等からアクセスできるようにするツール。
• Zookeeper
– 分散型のコーディネータで、KVSや分散ロック、リーダー選定等の
機能を持つ。分散処理アプリ(HBaseなど)の裏側で使われている。
47
分散処理アプリケーションとしてのAmazon EMR
48
Amazon EMRにおけるアプリケーション
• サポートアプリケーション
– クラスタ作成時に簡単なオプションをつける
だけでインストール可能なもの
– Release Label/AMI Version毎に使えるアプ
リケーション、バージョンが異なる
• カスタムインストールアプリケー
ション
– 事前にApache Bigtopにカスタムアプリケー
ションを追加してパッケージやリポジトリを
作成しておき、Bootstrapでデプロイする
• http://aws.typepad.com/sajp/2016/09/buil
ding-and-deploying-custom-applications-
with-apache-bigtop-and-amazon-emr.html
49
アプリケーション: Hadoop
• YARN = Yet-Another-Resource-
Negotiator
• Hadoop2から導入されたリソース管
理の仕組み
– 以前は全てJobTrackerが行っていた
• Resource Requestベースのスケ
ジューラ
– ApplicationMasterからのリクエストに
応じて、空いているリソースを
ResourceManagerが割り当てる
MapReduce
Pig Hive Other
Other
HDFS
Other
Map
ReducePig Hive
YARN
HDFS
Hadoop V1
Hadoop V2
50
YARN: ResourceManager
• マスターサーバで稼働
• スレーブ群のリソース情
報を集約
– CPU, Memory, etc.
• 必要なリソースを探して
割り当てる
• ジョブの管理は行わない
– ApplicationMasterの仕事
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
51
YARN: NodeManager
• スレーブサーバで稼働
• そのサーバのリソース情
報をRMに報告
• サーバ上のContainerの
管理を行う
– 要求に答えてContainerを
起動する
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
52
YARN: Container
• スレーブのリソースが切
り出されたもの
• NMによって起動される
• 実行方式
– DefaultContainerExecutor
• プロセス
– LinuxContainerExecutor
• cgroups
– DockerContainerExecutor
• Docker
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
53
YARN: ApplicationMaster
• ジョブ全体を管理する
Container
– 旧JobTrackerの様な存在
– ジョブ毎に1つのAM
• ジョブを分散処理する
Container全体の進捗管
理や監視を行う
http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
54
Amazon EMRとYARN
• MapReduce, Hive, Pig, Spark on YARN
– Amazon EMRクラスタが持つ計算資源を、YARNがアプリケー
ションに割り振ってくれる
• マルチテナントなクラスタも簡単に作れる
– MRでもHiveでもSparkでも、共通のリソースを分割して使える
55
アプリケーション: Hive
• SQL likeな宣言的言語で、ビッグデータに対する処理が
行えるアプリケーション
• データソースに対してスキーマを定義することで、あた
かもテーブルの様に扱える
– 通常はHDFSがデータソース
– Amazon EMRではEMRFS(Amazon S3)が利用可能
• 他にも、Amazon Kinesis, Amazon DynamoDBへのコネクタを提供
• 処理の実際は実行エンジンによって異なる
– MapReduce, Tez, Spark
https://hive.apache.org/
56
Hiveの処理例
Metastore
HDFS
Cluster
Amazon S3
HiveServer2
CREATE
TABLE
SELECT
FROM
1: テーブル定義で
HDFSやAmazon S3
をソースに指定
2: テーブル定義
がメタデータとし
て保存される
3: 定義したテーブル
に対して処理を実行 4: テーブルの
メタデータを
取得
5:クラスタに
処理を依頼
6: 実際のデー
タソースから
読み出しつつ
指定された処
理を行う
Amazon
DynamoDB
Amazon Kinesis
57
Hive Metastoreの重要性
• 他のSQL実行エンジンで
も同じMetastoreを参照
可能
• MetastoreのMySQLをク
ラスタ外に持つことも可
能
– Amazon EMRの通常は
Master Nodeのローカル
– 例えば、Amazon RDS
Metastore
Amazon S3
HDFS
58
新しいファイルフォーマット ORC File / Parquet
• 列指向ファイルフォーマット
– カラム毎にデータをまとめて保存する
– 特定の列を扱う処理ではファイル全体を読む必要が
ない
– → Optimized Row Columnar(ORC) File / Parquet
• 行指向ファイルフォーマット
– 1行ずつファイルに保存する
– 1カラムのみ必要でも、レコード全体を読む必要があ
る
– → TEXTFILE, SEQUENCEFILE
ORCのデータ構造
https://orc.apache.org/docs/spec-intro.html
59
列指向フォーマットを使うメリット
• 特定列のみの読み書きが効率的
– ビッグデータ分析では全列を使うことは稀
– 単純な統計データならメタデータのみで完結する
• 列毎には似たデータが続くので圧縮効率が良い
• 行毎にグループ化されているので、1行のデー
タは1つのファイルに収まっている
60
HiveでのORC File/Parquetの使い方
• テーブル定義で指定
するだけ
• あとは何も意識しな
くて良い
CREATE TABLE t (
col1 STRING,
…
) STORED AS [ORC/PARQUET];
INSERT INTO t (…);
SELECT col1 FROM t;
61
HiveでAmazon Kinesisのデータを処理
• Amazon Kinesisが保持するStreamデータを、Hiveの
テーブルとして扱える
– Amazon Kinesisの保持期限を考慮して、データアーカイブ用途など
– 注: Hiveでは速度が出ないので、いわゆるストリーム処理は厳しい
• Stream内のShard毎にMapperがデータを読み出す
– デフォルトはAmazon Kinesisの保持データをフルスキャン
– チェックポイント(Amazon DynamoDBに記録)を使うと、前回読みだした
データ以降のみ読むことも可能
Shard-0
Shard-1
Mapper
Mapper
SELECT
FROM
123
id data
1 …
2 …
3 …
Amazon Kinesis
62
HiveでAmazon Kinesisのデータを処理
Hiveテーブル作成
Amazon Kinesis
Streamを指定
HQLの実行(例)
通常のHQLを実行するだけ。
内部的にはAmazon Kinesis
からデータを取得し処理を行う
63
アプリケーション: Spark
• 高速な分散処理フレーム
ワークとして話題
– メモリキャッシュ、なるべく
ディスクを使わない
– 繰り返し処理(機械学習等)で
効果が高い
• フレームワーク上で、更に
アプリケーションが展開
– SQL, ストリーム, 機械学習,
グラフ
http://spark.apache.org/
64
Spark SQL & Dataset API (Spark 2.0)
• Spark SQL
– HiveQL互換、Hive Metastoreも利用可能
– JDBC/ODBC経由での実行も可能
– 他の言語の中からSQLを実行すると、結果
はDataset/DataFrameで返される
• Dataset API
– データの分散型コレクション
– Scala/Javaで利用可能
– DataFrameは名前付きの列に整理された
Dataset
https://databricks.com/blog/2016/07/14/a-tale-of-three-apache-spark-apis-
rdds-dataframes-and-datasets.html
http://spark.apache.org/docs/latest/sql-programming-guide.html
65
• Discretized Stream(DStream)と呼ばれる、高レベルの抽象表
現
• Resilient Distributed Dataset(RDD)のシーケンスとして表現
される
– いわゆる、マイクロバッチ処理
• さらに、Spark 2.0で、AlphaリリースとしてStructured
Streaming APIが登場
DStream
RDD@T1 RDD@T2
Messages
Receiver
Spark Streaming – 基本コンセプト
http://spark.apache.org/docs/latest/streaming-programming-guide.html
https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
66
Amazon KinesisとSpark Streaming
• Amazon KinesisのStreamが、Amazon EMR上のSpark
にDStreamとして流れてくる
– Sparkの中にAmazon Kinesis用のライブラリが同梱されている
– 裏側では、Kinesis Client Library(KCL)を利用して読み込み
• 数秒〜数分のマイクロバッチで、ニア-リアルタイム処理
を実現
– 速報値ダッシュボード、異常検知など
http://spark.apache.org/docs/latest/streaming-kinesis-integration.html
Shard-0
Shard-1
KCL thread
KCL threadAmazon Kinesis
DStream
RDD@T1 RDD@T2
67
Spark Dynamic Resource Allocation
• 複数Executorのメモリ上でRDDをキャッシュ
– Heapを全て使えるわけではないので、サイズに注意
• Dynamic Resource Allocation = Executorの数を動
的に調整可能
– StreamingのApplicationがトラフィックに合わせてスケール
– spark-shell等が使わないリソースを確保し続けることもない
– 4.4.0以降、spark.dynamicAllocation.enabledがデフォルトでtrue
になっている
• spark.shuffle.service.enabledは自動的にtrueになる
https://spark.apache.org/docs/latest/job-scheduling.html
68
まとめ
69
分散処理基盤
• 分散処理に必要なリソー
スを簡単に調達/廃棄可能
分散処理アプリケーション
• 複雑な設定無しに分散アプ
リケーションを利用可能
Amazon EMRで分散処理
分散処理したいデータがあるなら、ボタン1つで今すぐに!
70
参考資料(英語)
• Amazon EMR Management Guide
http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide
• Amazon EMR Release Guide
http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide
• Amazon EMR API Reference
http://docs.aws.amazon.com/ElasticMapReduce/latest/API/
• Amazon EMR Developer Guide (2.x and 3.x 向け)
http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/
• AWS CLI emr
http://docs.aws.amazon.com/cli/latest/reference/emr/index.html
71
オンラインセミナー資料の配置場所
• AWS クラウドサービス活用資料集
– http://aws.amazon.com/jp/aws-jp-introduction/
• AWS Solutions Architect ブログ
– 最新の情報、セミナー中のQ&A等が掲載されています
– http://aws.typepad.com/sajp/
72
AWSの導入、お問い合わせのご相談
• AWSクラウド導入に関するご質問、お見積り、資料請
求をご希望のお客様は、以下のリンクよりお気軽にご相
談ください
https://aws.amazon.com/jp/contact-us/aws-sales/
※「AWS 問い合わせ」で検索してください
73
74
Appendix
75
IAM Roleの指定が必須に
• 2015年6月30日以降、IAM Roleを指定しないとク
ラスタが起動できなくなった
• IAM Roleは2種類、デフォルトで作成される
– EMR role
• Amazon EMRが、Amazon EC2を起動したりするのに必要な権限
– EC2 instance profile
• Amazon EC2が、Amazon S3等にアクセスするのに必要な権限
http://aws.typepad.com/sajp/2015/06/emr-mandatory-iam-update.html
76
Release 4.0.0
• サポートアプリケーションが以下に変更
– Hadoop 2.6.0
– Hive 1.0.0
– Pig 0.14.0
– Mahout 0.10.0
– Spark 1.4.1
• Apache Bigtopベースのパッケージングシステムへ
– これまでよりも、速い更新が可能に
77
Release 4.1.0
• アプリケーション更新
– Spark 1.5.0
– Hue 3.7.1 (新規)
• サンドボックスで、開発中のアプリケーションも利
用可能
– Presto 0.119
– Zeppelin 0.6 (Snapshot)
– Oozie 4.0.1
78
Release 4.2.0
• アプリケーション更新
– Spark 1.5.2
– Ganglia 3.6.0 (新規)
• サンドボックス更新
– Presto 0.125
– Zeppelin 0.5.5
– Oozie 4.2.0
79
Release 4.3.0
• アプリケーション更新
– Hadoop 2.7.1
– Spark 1.6.0
– Ganglia 3.7.2
• サンドボックス更新
– Presto 0.130
80
Release 4.4.0
• アプリケーション更新
– HCatalog 1.0.0 (新規)
– Mahout 0.11.1
• サンドボックス更新
– Sqoop 1.4.6 (新規)
– Presto 0.136
– Zeppelin 0.5.6
• Sparkのデフォルト設
定変更
– Dynamic allocationが
デフォルトで有効に
• Java 8が同梱
– JAVA_HOMEを設定する
だけで使える
81
Release 4.5.0
• アプリケーション更新
– Spark 1.6.1
– Hadoop 2.7.2
• サンドボックス更新
– Presto 0.140
• EMRFSの機能追加
– S3のSSE-KMS暗号化
が利用可能に
• AWS KMSで作成した
CMKを指定できる
82
Release 4.6.0
• アプリケーション更新
– HBase 1.2.0 (新規) – NoSQL on Hadoop
• サンドボックス更新
– Zookeeper 3.4.8 (新規)
– Presto 0.143
83
Release 4.7.1 ※バグ修正があったので4.7.0は非推奨
• アプリケーション更新
– Phoenix 4.7.0 (新規) – SQL on HBase
– Tez 0.8.3 (新規) – DAG engine on YARN
– HBase 1.2.1
– Mahaut 0.12.0
• サンドボックス更新
– Presto 0.147
84
Release 4.7.2
• アプリケーション更新
– Mahout 0.12.2
– Spark 1.6.2
• サンドボックス更新
– Presto 0.148

Contenu connexe

Tendances

20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep DiveAmazon Web Services Japan
 
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
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAmazon Web Services Japan
 
20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBSAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築
AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築
AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAmazon Web Services Japan
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model Amazon Web Services Japan
 
20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要
20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要
20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要Amazon Web Services Japan
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本Amazon Web Services Japan
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMRAmazon Web Services Japan
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep diveAmazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAmazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAmazon Web Services Japan
 
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...Amazon Web Services Japan
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in ServerlessAmazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAmazon Web Services Japan
 

Tendances (20)

20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
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...
 
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
20190604 AWS Black Belt Online Seminar Amazon Simple Notification Service (SNS)
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS20190320 AWS Black Belt Online Seminar Amazon EBS
20190320 AWS Black Belt Online Seminar Amazon EBS
 
AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築
AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築
AWS Black Belt Online Seminar 2016 AWS上でのActive Directory構築
 
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
 
20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要
20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要
20190730 AWS Black Belt Online Seminar Amazon CloudFrontの概要
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
 
20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR20191023 AWS Black Belt Online Seminar Amazon EMR
20191023 AWS Black Belt Online Seminar Amazon EMR
 
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct Connect
 
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
20180425 AWS Black Belt Online Seminar Amazon Relational Database Service (Am...
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 

En vedette

Azure PowerShell Internal 勉強会
Azure PowerShell Internal 勉強会Azure PowerShell Internal 勉強会
Azure PowerShell Internal 勉強会ShuheiUda
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~ShuheiUda
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...
AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...
AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...Amazon Web Services Japan
 
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 S3Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon EMR
AWS Black Belt Online Seminar 2017 Amazon EMR AWS Black Belt Online Seminar 2017 Amazon EMR
AWS Black Belt Online Seminar 2017 Amazon EMR Amazon Web Services Japan
 

En vedette (6)

Azure PowerShell Internal 勉強会
Azure PowerShell Internal 勉強会Azure PowerShell Internal 勉強会
Azure PowerShell Internal 勉強会
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
 
AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...
AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...
AWS Black Belt Online Seminar 2017 Amazon Relational Database Service (Amazon...
 
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 Black Belt Online Seminar 2017 Amazon EMR
AWS Black Belt Online Seminar 2017 Amazon EMR AWS Black Belt Online Seminar 2017 Amazon EMR
AWS Black Belt Online Seminar 2017 Amazon EMR
 

Similaire à AWS Black Belt Online Seminar 2016 Amazon EMR

20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティングAmazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduceAWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduceAmazon Web Services Japan
 
WS Black Belt Online Seminar 2016 RDBのAWSへの移行
WS Black Belt Online Seminar 2016 RDBのAWSへの移行WS Black Belt Online Seminar 2016 RDBのAWSへの移行
WS Black Belt Online Seminar 2016 RDBのAWSへの移行Amazon Web Services Japan
 
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallShinpei Ohtani
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...TakeshiFukae
 
Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例Yuuki Namikawa
 
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみるTakahiro Moteki
 
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩Amazon Web Services Japan
 
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティングAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAmazon Web Services Japan
 
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)Amazon Web Services Japan
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designHan Jin Ryu
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designHan Jin Ryu
 
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL CompatibilityAmazon Web Services Japan
 
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueNoritaka Sekiyama
 
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめYasuhiro Araki, Ph.D
 

Similaire à AWS Black Belt Online Seminar 2016 Amazon EMR (20)

AWS Black Belt Techシリーズ Amazon EMR
AWS Black Belt Techシリーズ  Amazon EMRAWS Black Belt Techシリーズ  Amazon EMR
AWS Black Belt Techシリーズ Amazon EMR
 
20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
 
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduceAWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
AWS Black Belt Tech シリーズ 2015 - Amazon Elastic MapReduce
 
WS Black Belt Online Seminar 2016 RDBのAWSへの移行
WS Black Belt Online Seminar 2016 RDBのAWSへの移行WS Black Belt Online Seminar 2016 RDBのAWSへの移行
WS Black Belt Online Seminar 2016 RDBのAWSへの移行
 
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
 
Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例Amazon EC2を使った実践SaaS運用事例
Amazon EC2を使った実践SaaS運用事例
 
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
 
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
 
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
20180710 AWS Black Belt Online Seminar AWS入門者向け: AWSで実現するウェブサイトホスティング
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
 
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture design
 
Jawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture designJawsdays2018 - The cost driven aws cloud architecture design
Jawsdays2018 - The cost driven aws cloud architecture design
 
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
 
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
 
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
 
HPC on AWS 2020 Summer
HPC on AWS 2020 Summer HPC on AWS 2020 Summer
HPC on AWS 2020 Summer
 

Plus de Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFSAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device DefenderAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 

Plus de Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 

AWS Black Belt Online Seminar 2016 Amazon EMR

  • 1. 1 【AWS Black Belt Online Seminar】 Amazon EMR アマゾン ウェブ サービス ジャパン株式会社 2016.10.26
  • 2. 2 自己紹介 名前:半場 光晴(はんば みつはる) 所属: – アマゾン ウェブ サービス ジャパン株式会社 – メディア・エンターテイメント部 – ソリューションアーキテクト 好きなAWSサービス:Kinesis, S3, EMR 2
  • 3. 3 本資料では2016年10月26日時点のサービス内容および価格についてご説明しています。 最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価 格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 内容についての注意点 AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided. 価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、 別途消費税をご請求させていただきます。
  • 4. 4 Agenda • はじめに • 分散処理基盤としてのAmazon EMR • Amazon EMR主要アップデート (2015/10以降) • 分散処理アプリケーションとしてのAmazon EMR • まとめ
  • 5. 5 Amazon EMRの歴史 • 2009年に最初のリリース – MapReduceジョブを、ボタン1つで実行 できる環境を提供 • Hadoopエコシステムの進化に 対応 – Pig, Hive, HBase, Impala, Presto, Hue, Hadoop 2.0, Spark • AWSサービスの進化に対応 – Spot, IAM, DynamoDB, VPC, CloudWatch, CLI, Kinesis, KMS → もはやMapReduceだ けではない! Storage S3 (EMRFS), HDFS YARN Cluster Resource Management Batch MapReduce Interactive Tez In Memory Spark Applications Hive, Pig, Spark SQL/Streaming/ML, Mahout, Sqoop HBase/ Phoenix Presto Hue (SQL Interface/Metastore Management) Zeppelin (Interactive Notebook) Ganglia (Monitoring) HiveServer2/Spark Thriftserver (JDBC/ODBC) Amazon EMR service
  • 6. 6 ビッグデータパイプライン S3 Kinesis DynamoDB AWS Lambda KCL Apps EMR EMR Redshift Machine Learning Collect Process Analyze Store Data Collection and Storage Data Processing Event Processing Data Analysis Data Answers
  • 7. 7 分散処理基盤 • 分散処理に必要なリソー スを簡単に調達/廃棄可能 – Master/Core/Task node – EMRFS – Bootstrap Action, Steps 分散処理アプリケーション • 複雑な設定無しに分散アプ リケーションを利用可能 – Hadoop, YARN – Hive, Pig, HBase, Spark.. Amazon EMRを構成する2つの要素
  • 9. 9 Task Node Task Instance Group Amazon EMRのアーキテクチャ security group security group Master Node Master Instance Group Amazon S3 Amazon DynamoDB Amazon Kinesis Core Node Core Instance Group HDFS HDFS HDFS HDFS Task Node Task Instance Group スレーブ群を 管理 HDFS アクセス AWSサービス アクセス
  • 10. 10 Amazon EMR Master Instance Group • Master Nodeは1つ – Failoverは非対応 • いわゆるマスターの役 割を担う – NameNodeや ResourceManagerなど が動く – Core NodeやTask Nodeの監視 Master Node Master Instance Group Hadoop1: JobTracker Hadoop2: ResourceManager HDFS: NameNode Hive: HiveServer, MetaStore Presto: Coordinator
  • 11. 11 Amazon EMR Core Instance Group • 1つ以上のCore Node • いわゆるスレーブの役 割を担う – NodeManagerなど – DataNodeが動きロー カルディスクがHDFS として使われる • インスタンスストアと EBS、どちらもOK HDFS Core Node Core Instance Group Hadoop1: TaskTracker Hadoop2: NodeManager HDFS: DataNode Presto: Worker
  • 12. 12 Amazon EMR Core Instance Group • Core Node追加可能 – HDFS容量増加 – CPU/RAM増設 • HDFSを持っているた め、削減はできない – 4.1.0からは削減も可 能に HDFS Core Node Core Instance Group Hadoop1: TaskTracker Hadoop2: NodeManager HDFS: DataNode Presto: Worker
  • 13. 13 Amazon EMR Task Instance Group • HDFSを持たない以外 はCoreと同じ役割 • HDFSのデータは Core Nodeにアクセ スする • HDFSを持たないので 削除もより自由 – Decommissionが不要 Task Node Task Instance Group Hadoop1: TaskTracker Hadoop2: NodeManager (Presto: Worker)
  • 14. 14 Amazon EMR Task Instance Group • 複数Group設定可能 – Spotのbid価格を調整 – Instance Typeを調整 • 余っているRIを活用 したり、市場価格に 合わせてSpotを調整 したりと柔軟に対応 Task Instance Group 2 Task Instance Group 1 c3.xlarge * 2 bid: $0.1 r3.xlarge * 2 bid: $0.5
  • 15. 15 Spot Instanceの活用例 Task Instance GroupCore Instance Group 予測されたコストで最低要件を満たす 低コストでより高速に On-demandを Core Nodeに利用 最低要件を満たすだけ のキャパシティをOn- demand価格で確保 Spot Instanceを Task Nodeに利用 On-demandの最大90% 引き程度の価格で追加の リソースを確保 例: m4.xlarge 6台で10時間かかる処理 (倍の12台なら、5時間で終わると仮定) Core Node(On-demand)のみ: $0.348×10h×6台 = $20.88 で10時間※ Task Node(Spot)で倍に: $0.348×5h×6台 + $0.04×5h×6台 = $11.64 で5時間※ ※2016年10月19日現在のap-northeast-1の価格です。Spotの価格は時によって変動するので仮の価格です。
  • 17. 17 EMRFS: Amazon S3をHDFSの様に扱う • 計算資源とストレージを分離できる • クラスタのシャットダウンが可能 – クラスタを消してもデータをロストしない • 複数クラスタ間でデータ共有が簡単 – クラスタのバージョンアップ検証が並行できる • データの高い耐久性 EMR EMR Amazon S3
  • 18. 18 EMRFSの特徴 • “s3://”と指定するだけで利用可能 • Amazon S3の機能がそのまま使える – 例: 古いデータはAmazon Glacierに自動で移動させる • Amazon S3のサーバサイド・クライアントサイ ドの暗号化も利用可能 – 他のアプリでクライアント暗号化したAmazon S3データも読み 出し可能 • クラスタを消してもデータは消えない
  • 19. 19 EMRFSのConsistent View • Amazon S3の整合性は以下のとおり – 新しいオブジェクトのPUT → 書き込み後の読み 取り整合性 (Read-after-write consistency) – 上書きPUT/DELETE → 結果整合性 (Eventual consistency) • EMRFSではConsistent Viewを提供 – Amazon DynamoDBにメタデータを格納し整合 性を担保 • List Consistency • Delete Consistency • Read-after-write Consistency – 結果としてオブジェクトのリスト取得も高速に Amazon S3 Amazon DynamoDB EMRFSの メタデータを格納 https://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-plan-consistent-view.html
  • 20. 20 Amazon EMRならではの使い方 • 必要な時だけクラスタ起動 – 消せばお金はかからない – 処理が終わったら自動で消え る設定も可能 • データは全てAmazon S3 – クラスタを消してもデータは 消えない – データを貯める段階ではクラ スタ不要 t
  • 21. 21 Amazon EMRの機能: Bootstrap Action • 全てのNode起動時に実行されるスクリプト – 実行可能ファイルであれば何でもOK • Bash, Ruby, Python, etc. – Amazon S3に置いて指定、コマンドライン引数も自由に指定 – 事前にApache Bigtopにカスタムアプリケーションを追加して パッケージやリポジトリを作成しておき、Bootstrapでデプロ イするということも可能 • http://aws.typepad.com/sajp/2016/09/building-and- deploying-custom-applications-with-apache-bigtop-and- amazon-emr.html
  • 22. 22 Amazon EMRの機能: Step • 任意のタイミングで設定/追加できる処理 – クラスタ起動時に設定することもできるし、起動しているクラスタに後から追加する こともできる – 例: 日次のETL処理を行うHiveQL実行 • Amazon S3のURI、または、ローカルのファイルパスをして実行 – S3上のjarファイルを指定して実行など – Streaming, Hive, Pig, SparkはEMRがサポート (command-runner.jarの利用) – script-runner.jarでbashスクリプトを実行させることも可能 • 最後のStepが終わったら自動でクラスタを終了させることもでき る(Auto-terminate)
  • 23. 23 Amazon EMRでのジョブ実行方法 クラスタの外から • Stepで実行 – Amazon EMRの仕組みの上で実行 • マネージメントコンソールやCLI • AWS SDK • IAM – 成功/失敗等を簡単に管理できる – 現状はシリアル実行のみ • AWSサービスから実行 – Lambda – Data Pipeline • 各種スケジューラから実行 Amazon EMR Amazon EMR Step API AWS Data Pipeline Airflow, Luigi, or other schedulers on EC2 AWS Lambda
  • 24. 24 Amazon EMRでのジョブ実行方法 クラスタ上から実行 • 各アプリケーション毎のインタフェースで実行 – Master Nodeにsshして、コマンド実行 – HiveServer2, spark-submit等でジョブを実行 – Zeppelin, Hue, spark-jobserver等でGUIからジョブを実行 – Oozie等で一連のワークフローとしてジョブを実行 Web UIs: Hue SQL editor, Zeppelin notebooks, R Studio, and more! Connect with ODBC / JDBC using HiveServer2/Spark Thriftserver Use Spark Actions in your Apache Oozie workflow to create DAGs of jobs. (start using start-thriftserver.sh) Or, use the native APIs and CLIs for each application
  • 26. 26 Amazon EMR主要アップデート (2015/10以降) • Private SubnetでもEMRが起動可能に • EBSの設定が可能に & M4/C4もサポート • Apache Spark, Tez, Hadoop MapReduceでデー タ暗号化が可能に • Apache HiveとApache Spark用のEMR- DynamoDBコネクターをOSSとして公開 • Release 4.x, 5.x
  • 27. 27 Private SubnetでもEMRが起動可能に • SubnetがPrivateでも起 動可能に – EMR 4.2.0以降で対応 • Publicとの違い – S3のVPC endpointが必要 – DynamoDB等へのアクセ スにはNAT GW等が必要 – EMR Serviceが利用する Security Groupが必要 https://aws.amazon.com/about-aws/whats-new/2015/12/launch-amazon-emr-clusters-in-amazon- vpc-private-subnets/
  • 28. 28 EBSの設定が可能に そして、インスタンスタイプM4/C4もサポート • EMRのAPI等からEBSを 設定可能に – HDFSなどをより大容量に することが可能に – タイプ、サイズ等を指定可 能 – CloudFormationからも設 定可能 • EBSのSC1/ST1もサポー ト – HDFSで効果を発揮する • M4とC4が利用可能に https://aws.amazon.com/about-aws/whats-new/2016/02/amazon-emr-now-supports-amazon-ebs- volumes-and-m4-and-c4-amazon-ec2-families/
  • 29. 29 Apache Spark, Tez, Hadoop MapReduceで データ暗号化が可能に https://aws.amazon.com/about-aws/whats-new/2016/09/amazon-emr-now-supports-data- encryption-for-apache-spark-tez-and-hadoop-mapreduce/ • at-restの時も、in-transitの時 も、データ暗号化が可能に • at-rest – EMRFS, HDFS、そして、 ローカル ファイルシステムに保存されている データが対象 • in-transit – TLSを利用 • EMRのセキュリティ設定機能 で簡単に設定可能
  • 30. 30 Apache HiveとApache Spark用のEMR- DynamoDBコネクターをOSSとして公開 • DynamoDBへ直接アクセスが可能 • DynamoDBのテーブルと、EMRからアクセス可能 な他のデータをJOINすることも可能 • GitHub – https://github.com/awslabs/emr-dynamodb-connector https://aws.amazon.com/about-aws/whats-new/2016/09/the-amazon-emr-dynamodb-connector-for- apache-hive-and-apache-spark-is-now-open-source/
  • 31. 31 Amazon EMR Release (2015/07以降) • Release 4.0.0 – 2015/07 • Release 4.1.0 – 2015/09 • Release 4.2.0 – 2015/11 • Release 4.3.0 – 2016/01 • Release 4.4.0 – 2016/03 • Release 4.5.0 – 2016/04 • Release 4.6.0 – 2016/04 • Release 4.7.1 – 2016/06 • Release 4.7.2 – 2016/07 • Release 5.0.0 – 2016/08 • 約12ヶ月間で10回のリ リース • 進化の早いHadoopエ コシステムに追従して いくため http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-release- components.html http://bigtop.apache.org/
  • 32. 32 Amazon EMR Release登場 • ポートやパスを標準的なものへ変更 – Amazon EMR独自の設定から、オープンソースの標準設定へ • アプリケーションの設定を直接的に変更できる様に – 設定ファイルを編集するのではなく、パラメータを直接指定できる • マネージメントコンソール、ドキュメントも刷新 – Quick Createでより簡単にクラスタ作成 – ドキュメントは、Management GuideとRelease Guideへ ※従来のAMIベースのバージョンの時との差分について、ドキュメントに詳細がまとまっています http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-release-differences.html
  • 33. 33 Release: ポートやパスの変更 • オープンソースの標準的な設定に変更 – 従来はカスタムのポートやパスを利用していた – 変更例: • yarn.resourcemanager.webapp.address port 9026 => 8088 • /home/hadoop/hive => /usr/lib/hive, /etc/hive/conf, /var/log/hive • 実行ユーザもコンポーネント毎に別ユーザへ – 従来は全てhadoopユーザだった – yarnユーザ、hiveユーザなどに変更
  • 34. 34 Release: アプリケーションの設定変更 • Classification + Propertiesで直接的な指定 – 従来はBootstrap Actionなどで変更していた – 以下の様な構造のデータを指定するだけで設定変更可能になった http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html e.g. /etc/hadoop/conf/mapred-site.xml に設定値が記述される
  • 35. 35 Release: コンソール、ドキュメント変更 • マネージメントコンソールでQuick Create可能に – ソフトウェア、ハードウェア、セキュリティの3項目だけ – 従来通りのコンソールもGo to advanced optionsのリンクから利用可能 • ドキュメントが新たにリリース – Management Guide • Amazon EMRのサービスとプラットフォームに関するドキュメント • http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide – Release Guide • インストールされているソフトウェア等のリリースに関するドキュメント • http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide
  • 39. 39 Release 5.0.0 • アプリケーション更新 – Hive 2.1 – Presto 0.150 – Spark 2.0 (Scala 2.11) – Hue 3.10.0 – Pig 0.16.0 – Tez 0.8.4 – Zeppelin 0.6.1 • デフォルト変更 – Java 8 – Tez (Hive, Pig) • デバッグ改善 – Stepの失敗理由が簡単に見 れる様に • Sandboxが無くなった – アプリケーション名が変更 されたので注意
  • 40. 40 Amazon EMR Application 紹介 for 5.0.0 • 分散処理系 – Hadoop, Hive, Tez, Spark, Presto, Pig, Mahout, Sqoop • データベース系 – HBase, Phoenix • GUI系 – Hue, Zeppelin • スケジューラー系 – Oozie • その他 – Ganglia, HCatalog, Zookeeper
  • 41. 41 Application 紹介: 分散処理系 • Hadoop – 分散処理の基盤。YARN(リソース管理)+HDFS(分散ストレージ)の上で、 各種アプリが実行される。MapReduceもその1つ。多くのEMRアプリが YARNを使うので、ほぼ必須。 • Hive – YARN上で実行される、分散SQL実行環境。実行エンジンとして MapReduceなどが使える。S3のデータを直接読み書き可能。 • Tez – YARN上でDAG(有効非巡回グラフ)を実行するのに最適化したエンジン。 Hiveの実行エンジンに指定するだけで、多くのHiveクエリが高速化する。
  • 42. 42 Application 紹介: 分散処理系 • Spark – 分散処理のフレームワーク。YARN上で実行でき、MapReduce よりも高速かつ簡単に分散処理可能。Spark上でSpark SQL(Hive互換)やSpark Streaming(ストリーム処理), MLlib(機 械学習)といったこともでき、今最も注目されるプロジェクト。 • Presto – 分散SQL実行エンジン。YARNではなく独自のクラスタ構成だが、 SQLの実行に特化していてかなり高速。異なるストレージ間で のJOINも可能。SQLはANSI SQL準拠。
  • 43. 43 Application 紹介: 分散処理系 • Pig – MapReduceを独自DSLで定義して実行できる。新規で使われるこ とは最近少なくなってきた。 • Mahout – MapReduceやSpark上で動く機械学習ライブラリ。新規で使われ ることは最近少なくなってきた。 • Sqoop – RDBMSと、HDFSやS3の間でのデータの移動をMapReduceで分散 処理する。
  • 44. 44 Application 紹介: データベース系 • HBase – HDFS上に構成される分散KVS。高いスループットや大容量な データの扱いが得意。 • Phoenix – HBaseのデータに対してSQLインタフェースでアクセスできる。
  • 45. 45 Application 紹介: GUI & スケジューラー系 • Hue – Hiveのテーブルを管理、クエリを実行して結果を確認できるGUI。 • Zeppelin – GUIからSparkのコードやSpark SQLを実行したり、結果をグラフ などで可視化し、それを保存・再実行できるノートブック。 • Oozie – ワークフローを定義してスケジュール実行できる。MapReduceや Hiveなどをジョブとして扱える。
  • 46. 46 Application 紹介: その他 • Ganglia – インスタンスのリソース(CPU,Memory,Network等)の状態を収集 して、可視化できる運用ソフト。 • HCatalog – HiveのテーブルにPig等からアクセスできるようにするツール。 • Zookeeper – 分散型のコーディネータで、KVSや分散ロック、リーダー選定等の 機能を持つ。分散処理アプリ(HBaseなど)の裏側で使われている。
  • 48. 48 Amazon EMRにおけるアプリケーション • サポートアプリケーション – クラスタ作成時に簡単なオプションをつける だけでインストール可能なもの – Release Label/AMI Version毎に使えるアプ リケーション、バージョンが異なる • カスタムインストールアプリケー ション – 事前にApache Bigtopにカスタムアプリケー ションを追加してパッケージやリポジトリを 作成しておき、Bootstrapでデプロイする • http://aws.typepad.com/sajp/2016/09/buil ding-and-deploying-custom-applications- with-apache-bigtop-and-amazon-emr.html
  • 49. 49 アプリケーション: Hadoop • YARN = Yet-Another-Resource- Negotiator • Hadoop2から導入されたリソース管 理の仕組み – 以前は全てJobTrackerが行っていた • Resource Requestベースのスケ ジューラ – ApplicationMasterからのリクエストに 応じて、空いているリソースを ResourceManagerが割り当てる MapReduce Pig Hive Other Other HDFS Other Map ReducePig Hive YARN HDFS Hadoop V1 Hadoop V2
  • 50. 50 YARN: ResourceManager • マスターサーバで稼働 • スレーブ群のリソース情 報を集約 – CPU, Memory, etc. • 必要なリソースを探して 割り当てる • ジョブの管理は行わない – ApplicationMasterの仕事 http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
  • 51. 51 YARN: NodeManager • スレーブサーバで稼働 • そのサーバのリソース情 報をRMに報告 • サーバ上のContainerの 管理を行う – 要求に答えてContainerを 起動する http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
  • 52. 52 YARN: Container • スレーブのリソースが切 り出されたもの • NMによって起動される • 実行方式 – DefaultContainerExecutor • プロセス – LinuxContainerExecutor • cgroups – DockerContainerExecutor • Docker http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
  • 53. 53 YARN: ApplicationMaster • ジョブ全体を管理する Container – 旧JobTrackerの様な存在 – ジョブ毎に1つのAM • ジョブを分散処理する Container全体の進捗管 理や監視を行う http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html
  • 54. 54 Amazon EMRとYARN • MapReduce, Hive, Pig, Spark on YARN – Amazon EMRクラスタが持つ計算資源を、YARNがアプリケー ションに割り振ってくれる • マルチテナントなクラスタも簡単に作れる – MRでもHiveでもSparkでも、共通のリソースを分割して使える
  • 55. 55 アプリケーション: Hive • SQL likeな宣言的言語で、ビッグデータに対する処理が 行えるアプリケーション • データソースに対してスキーマを定義することで、あた かもテーブルの様に扱える – 通常はHDFSがデータソース – Amazon EMRではEMRFS(Amazon S3)が利用可能 • 他にも、Amazon Kinesis, Amazon DynamoDBへのコネクタを提供 • 処理の実際は実行エンジンによって異なる – MapReduce, Tez, Spark https://hive.apache.org/
  • 56. 56 Hiveの処理例 Metastore HDFS Cluster Amazon S3 HiveServer2 CREATE TABLE SELECT FROM 1: テーブル定義で HDFSやAmazon S3 をソースに指定 2: テーブル定義 がメタデータとし て保存される 3: 定義したテーブル に対して処理を実行 4: テーブルの メタデータを 取得 5:クラスタに 処理を依頼 6: 実際のデー タソースから 読み出しつつ 指定された処 理を行う Amazon DynamoDB Amazon Kinesis
  • 57. 57 Hive Metastoreの重要性 • 他のSQL実行エンジンで も同じMetastoreを参照 可能 • MetastoreのMySQLをク ラスタ外に持つことも可 能 – Amazon EMRの通常は Master Nodeのローカル – 例えば、Amazon RDS Metastore Amazon S3 HDFS
  • 58. 58 新しいファイルフォーマット ORC File / Parquet • 列指向ファイルフォーマット – カラム毎にデータをまとめて保存する – 特定の列を扱う処理ではファイル全体を読む必要が ない – → Optimized Row Columnar(ORC) File / Parquet • 行指向ファイルフォーマット – 1行ずつファイルに保存する – 1カラムのみ必要でも、レコード全体を読む必要があ る – → TEXTFILE, SEQUENCEFILE ORCのデータ構造 https://orc.apache.org/docs/spec-intro.html
  • 59. 59 列指向フォーマットを使うメリット • 特定列のみの読み書きが効率的 – ビッグデータ分析では全列を使うことは稀 – 単純な統計データならメタデータのみで完結する • 列毎には似たデータが続くので圧縮効率が良い • 行毎にグループ化されているので、1行のデー タは1つのファイルに収まっている
  • 60. 60 HiveでのORC File/Parquetの使い方 • テーブル定義で指定 するだけ • あとは何も意識しな くて良い CREATE TABLE t ( col1 STRING, … ) STORED AS [ORC/PARQUET]; INSERT INTO t (…); SELECT col1 FROM t;
  • 61. 61 HiveでAmazon Kinesisのデータを処理 • Amazon Kinesisが保持するStreamデータを、Hiveの テーブルとして扱える – Amazon Kinesisの保持期限を考慮して、データアーカイブ用途など – 注: Hiveでは速度が出ないので、いわゆるストリーム処理は厳しい • Stream内のShard毎にMapperがデータを読み出す – デフォルトはAmazon Kinesisの保持データをフルスキャン – チェックポイント(Amazon DynamoDBに記録)を使うと、前回読みだした データ以降のみ読むことも可能 Shard-0 Shard-1 Mapper Mapper SELECT FROM 123 id data 1 … 2 … 3 … Amazon Kinesis
  • 63. 63 アプリケーション: Spark • 高速な分散処理フレーム ワークとして話題 – メモリキャッシュ、なるべく ディスクを使わない – 繰り返し処理(機械学習等)で 効果が高い • フレームワーク上で、更に アプリケーションが展開 – SQL, ストリーム, 機械学習, グラフ http://spark.apache.org/
  • 64. 64 Spark SQL & Dataset API (Spark 2.0) • Spark SQL – HiveQL互換、Hive Metastoreも利用可能 – JDBC/ODBC経由での実行も可能 – 他の言語の中からSQLを実行すると、結果 はDataset/DataFrameで返される • Dataset API – データの分散型コレクション – Scala/Javaで利用可能 – DataFrameは名前付きの列に整理された Dataset https://databricks.com/blog/2016/07/14/a-tale-of-three-apache-spark-apis- rdds-dataframes-and-datasets.html http://spark.apache.org/docs/latest/sql-programming-guide.html
  • 65. 65 • Discretized Stream(DStream)と呼ばれる、高レベルの抽象表 現 • Resilient Distributed Dataset(RDD)のシーケンスとして表現 される – いわゆる、マイクロバッチ処理 • さらに、Spark 2.0で、AlphaリリースとしてStructured Streaming APIが登場 DStream RDD@T1 RDD@T2 Messages Receiver Spark Streaming – 基本コンセプト http://spark.apache.org/docs/latest/streaming-programming-guide.html https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
  • 66. 66 Amazon KinesisとSpark Streaming • Amazon KinesisのStreamが、Amazon EMR上のSpark にDStreamとして流れてくる – Sparkの中にAmazon Kinesis用のライブラリが同梱されている – 裏側では、Kinesis Client Library(KCL)を利用して読み込み • 数秒〜数分のマイクロバッチで、ニア-リアルタイム処理 を実現 – 速報値ダッシュボード、異常検知など http://spark.apache.org/docs/latest/streaming-kinesis-integration.html Shard-0 Shard-1 KCL thread KCL threadAmazon Kinesis DStream RDD@T1 RDD@T2
  • 67. 67 Spark Dynamic Resource Allocation • 複数Executorのメモリ上でRDDをキャッシュ – Heapを全て使えるわけではないので、サイズに注意 • Dynamic Resource Allocation = Executorの数を動 的に調整可能 – StreamingのApplicationがトラフィックに合わせてスケール – spark-shell等が使わないリソースを確保し続けることもない – 4.4.0以降、spark.dynamicAllocation.enabledがデフォルトでtrue になっている • spark.shuffle.service.enabledは自動的にtrueになる https://spark.apache.org/docs/latest/job-scheduling.html
  • 70. 70 参考資料(英語) • Amazon EMR Management Guide http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide • Amazon EMR Release Guide http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide • Amazon EMR API Reference http://docs.aws.amazon.com/ElasticMapReduce/latest/API/ • Amazon EMR Developer Guide (2.x and 3.x 向け) http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/ • AWS CLI emr http://docs.aws.amazon.com/cli/latest/reference/emr/index.html
  • 71. 71 オンラインセミナー資料の配置場所 • AWS クラウドサービス活用資料集 – http://aws.amazon.com/jp/aws-jp-introduction/ • AWS Solutions Architect ブログ – 最新の情報、セミナー中のQ&A等が掲載されています – http://aws.typepad.com/sajp/
  • 73. 73
  • 75. 75 IAM Roleの指定が必須に • 2015年6月30日以降、IAM Roleを指定しないとク ラスタが起動できなくなった • IAM Roleは2種類、デフォルトで作成される – EMR role • Amazon EMRが、Amazon EC2を起動したりするのに必要な権限 – EC2 instance profile • Amazon EC2が、Amazon S3等にアクセスするのに必要な権限 http://aws.typepad.com/sajp/2015/06/emr-mandatory-iam-update.html
  • 76. 76 Release 4.0.0 • サポートアプリケーションが以下に変更 – Hadoop 2.6.0 – Hive 1.0.0 – Pig 0.14.0 – Mahout 0.10.0 – Spark 1.4.1 • Apache Bigtopベースのパッケージングシステムへ – これまでよりも、速い更新が可能に
  • 77. 77 Release 4.1.0 • アプリケーション更新 – Spark 1.5.0 – Hue 3.7.1 (新規) • サンドボックスで、開発中のアプリケーションも利 用可能 – Presto 0.119 – Zeppelin 0.6 (Snapshot) – Oozie 4.0.1
  • 78. 78 Release 4.2.0 • アプリケーション更新 – Spark 1.5.2 – Ganglia 3.6.0 (新規) • サンドボックス更新 – Presto 0.125 – Zeppelin 0.5.5 – Oozie 4.2.0
  • 79. 79 Release 4.3.0 • アプリケーション更新 – Hadoop 2.7.1 – Spark 1.6.0 – Ganglia 3.7.2 • サンドボックス更新 – Presto 0.130
  • 80. 80 Release 4.4.0 • アプリケーション更新 – HCatalog 1.0.0 (新規) – Mahout 0.11.1 • サンドボックス更新 – Sqoop 1.4.6 (新規) – Presto 0.136 – Zeppelin 0.5.6 • Sparkのデフォルト設 定変更 – Dynamic allocationが デフォルトで有効に • Java 8が同梱 – JAVA_HOMEを設定する だけで使える
  • 81. 81 Release 4.5.0 • アプリケーション更新 – Spark 1.6.1 – Hadoop 2.7.2 • サンドボックス更新 – Presto 0.140 • EMRFSの機能追加 – S3のSSE-KMS暗号化 が利用可能に • AWS KMSで作成した CMKを指定できる
  • 82. 82 Release 4.6.0 • アプリケーション更新 – HBase 1.2.0 (新規) – NoSQL on Hadoop • サンドボックス更新 – Zookeeper 3.4.8 (新規) – Presto 0.143
  • 83. 83 Release 4.7.1 ※バグ修正があったので4.7.0は非推奨 • アプリケーション更新 – Phoenix 4.7.0 (新規) – SQL on HBase – Tez 0.8.3 (新規) – DAG engine on YARN – HBase 1.2.1 – Mahaut 0.12.0 • サンドボックス更新 – Presto 0.147
  • 84. 84 Release 4.7.2 • アプリケーション更新 – Mahout 0.12.2 – Spark 1.6.2 • サンドボックス更新 – Presto 0.148