Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
10分で詰め込むHadoop
Search
kanga333
April 02, 2018
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
10分で詰め込むHadoop
MicroAd 社内LT会資料
kanga333
April 02, 2018
Transcript
21 slides
10分で詰め込むHadoop kagawa_shoichi
あらまし Hadoopとはなんぞやという話を10分で詰め込む ざっくり概要と用途について 厳密には違ったりするかもしれんけど、雰囲気伝わるの重視
(広義の)Hadoopとは HDFS, MapReduce等を中心としたビッグデータ処理の ミドルウェア、ライブラリなんかの総称
(狭義の)Hadoopとは 巨大なデータに対するバッチ処理ミドルウェアである HDFS, YARN, MapReduceの事を示す それぞれについては後述
Hadoopのディストリビューション LinuxにおけるRedhat,Ubuntuと同様にHadoopにも ディストリビューションがある 普通はOSSのHadoopを直で使ったりせず なんらかディストリビューションのものを使う 主要なディストリビューションベンダー Cloudera (CDH) Hortonworks (HDP)
MAPR (MARP) Pivotal (Pivotal HD)
主要Hadoopコンポーネント HDFS YARN MapReduce Spark Hive ZooKeeper
HDFS Hadoop Distributed File System 分散ファイルシステム ファイルをブロックという単位で分割して複数サーバに保持 させる
YARN 分散環境のサーバ郡のリソーススケジューラー ジョブが投入された際に、そのジョブをどのサーバ達でどの くらいのCPU/メモリを割り当てて、実行するかを決定する
MapReduce map処理とreduce処理により大規模データを処理する フレームワーク map([ , , ], cook) => [
, , ] reduce([ , , ], eat) =>
Spark ひとまずは、洗練されたMapReduceくらいに思っておけばOK 中間データをオンメモリで持つから高速 MapとReduceのTaskを行うプロセスを区別せず使い回す 色んな便利ライブラリが付いている 機械学習: Spark ML リアルタイム処理: Spark
Streaming SQL: Spark SQL リアルタイム処理 with SQL: Spark Structured Streaming
Hive SQL処理エンジン SQLをMRやSparkなどのジョブに変換してデータを操作 ちなみにHive on SparkとSpark SQLは別物
Zookeeper 対障害性を高めた分散KVS Hadopコンポーネントのメタデータを管理する 分散環境において、どれがマスタなのか?などを管理
その他Hadoopコンポーネント解説 HBase Kudu Kafka Storm/SparkStreaming Impara/Presto
HBase オンメモリ分散列指向DB HDFSではできないデータの更新などができる ただし、メモリに乗り切るくらいのデータしか扱えない とはいえクラスタを組むのでスケールは可能
Kude 分散列指向ストレージ HDFSとHBaseのギャップを埋めるストレージ TB規模のデータをディスクとして持ちながら更新可能 とはいえ HBaseの方が早い HDFSの方が大規模データに対するスループットはある 用途 リアルタイムに更新などが発生する大規模データに対し て分析などのスキャン的な操作もしたい
Kafka 分散キューイングシステム スケール可能なFIFOでPubSubなキュー
Storm / Spark Streaming 分散リアルタイムバッチ処理フレームワーク リアルデータに対して細かくバッチ処理を行う リアルタイム処理フレームワークは乱立していてカオス リアルタイム処理フレームワーク Apache Flink,
Apache Apex, Heron, Kafka streams 各種リアルタイム処理をDSLで書ける Apache Beam リアルタイム処理をGUIで定義 Apache Nifi, Stream Sets リアルタイム処理 with SQL KSQL, Spark Structured Streaming
Impara / Presto 高速な分散SQL処理エンジン SQLをMRやSparkに変換するHiveと比較してSQLを処理する ことに特化して作られており高速 基本的には耐障害性を犠牲にしてスループットを高める設計 データを全部メモリに乗せて処理する バッチよりアドホッククエリ向き 多分Imparaの方が早いし、CDHと親和性高いけど
Prestoの方が汎用性高い
SQL処理エンジン使い分けの一例 ディスクIO多い単純なSQLジョブ > Hive on MR JOINなどの操作を含める複雑なSQLジョブ > Hive on
Spark アドホッククエリ実行環境 > Presto or Impala 機械学習 > Spark SQL と Spark ML
おわりに 各種ミドルウェアの分類MAP(目安) 厳密にはこんなに綺麗に分かれている訳では無い
None
More Decks by kanga333
See All by kanga333
Athenaを使ったバッチ処理のTIPS
kanga333
0
960
個々のアプリのリポジトリでTerraformを管理している話
kanga333
4
3.9k
docker_and_make
kanga333
1
440
CoreOS Container Linuxで始めるベアメタルKubernetes
kanga333
3
9.1k
ORCについて調べた
kanga333
0
270
burrow_monitoring
kanga333
0
890
j2hの紹介
kanga333
0
6.3k
Other Decks in Technology
See All in Technology
複数システムが同居した 15 年物の AWS アカウントを解体するための考古学
wa6sn
3
140
思考過程から秘密が漏れる:Amazon Bedrock上のKimi K3を5つの方法で攻めたら、25回中22回漏洩した話
yama3133
1
150
ぼくのClaude Codeの使い方
falken
PRO
3
5.5k
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
230
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
4
2.5k
Context != Context: One window, many lifecycles (AI Native DevCon, Nov 2026)
birgitta410
0
120
Kiro アップデート 2026 年 11 月号 (11 月 8 日時点) | 目指せ Kiro マスター アップデート編
inariku
PRO
2
110
Go初心者のクラウドエンジニアが、デプロイを通して旨味を知っていく話
ryudai
1
190
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
3
830
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.7k
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
280
Claude Codeで新規事業を伸ばせるか? Zennの試行錯誤の記録
wadayusuke
2
160
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
3
12k
RailsConf 2023
tenderlove
30
1.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Leo the Paperboy
mayatellez
11
2.5k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
320
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Tell your own story through comics
letsgokoyo
1
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The SEO identity crisis: Don't let AI make you average
varn
0
630