LoginSignup
1
0

#象本読むぞう - Hadoop The Definitive Guide - 4th Edition を平日に10分ずつ読む(18:10-18:20)

Last updated at Posted at 2024-01-12

この試みについて

インフラ知識ほぼゼロで、Hadoop関連の技術をがっつり扱う会社に入社してしまい2年目を迎えた筆者が、自分自身の知識習得のためにこちらの本を通読します。

いわゆる「象本」と呼ばれている本で、第三版までは日本語訳が出ているのですが、第四版は英語しかありません。

第四版は、第三版ではカバーしていない重要な論点(YARN, AVRO, Parquet, Spark, Zookeeper についての dedicated な章など)が追加されているということで、英語の勉強もかねて読んでいきます。

すすめかた

一人では読み続けられる自信がない&この1年で読み切ってしまいたい&この1年で読み切れるペースでがっつり一緒に読めそうな仲間を探すのは大変そうということで、以下のやりかたで実施します。

  • 原則、平日の18:10〜18:20
    • 仕事などで私が無理な日は事前に告知しておやすみする
    • 前半のコア技術、後半の周辺技術が両方大切なことから、以下の割り振りとしたいと思います。
    • 月木:あたまから読んでいく日(Hadoop コア技術を習得)
    • 水金:Related Project (345ページ以降)を読んでいく日(Hadoopの周辺技術を習得)
    • 火曜:どっちか好きな方(火曜はおやすみにする日が多そうなので)
    • 👆上記のように厳密に曜日で区切るのではなく、あたまから読んでいって、きりのいいところで周辺技術に切り替えて、みたいな感じで読んでいこうと思います。
  • Twitter(X)の Space で、10分間で読めるところまで読む
    • こちらのアカウントで、時間になったらSpaceを立ち上げ https://twitter.com/IQ_Bocchi
    • 聞きたい人は聞き、しゃべりたい人はスピーカーに立候補。スピーカーにはならないけど、感想などをつぶやきたい場合は #象本読むぞう のハッシュタグでツイートしてもらえると喜びます。

Space録音

Spaceの録音を、こちらに貼っていきたいと思います。
本の中身をSpaceでがっつり読む形になるので、オライリーさんに怒られたら考えます。。。

Part1

Chapter1. Meet Hadoop

第1回 Data!

2024/1/12(金) 開催
https://twitter.com/i/spaces/1dRKZEDyRqrxB

第2回 - Data Storage and Analysis 〜 Querying All Your Data

2024/1/15(月) 開催
https://twitter.com/i/spaces/1jMJgmDYpjXKL

第3回 - Beyond Batch

2024/1/16(火) 開催
https://twitter.com/i/spaces/1djGXNDMQYzxZ

Comparison with Other Systems

第4回 - Relational Database Management Systems

2024/1/17(水) 開催
https://twitter.com/i/spaces/1zqKVqDOWXpxB

第5回 - Grid Computing 〜 Volunteer Computing

2024/1/18(木) 開催
https://twitter.com/i/spaces/1lPJqbDVYYMxb

A Brief History of Apache Hadoop

第6回

2023/1/19(金) 開催
https://twitter.com/i/spaces/1vAGRvmkmOkGl

第7回

2024/1/22(月) 開催
https://twitter.com/i/spaces/1lPKqblNbDmGb
※後半で Chapter3にも片足つっこんでおります

Chapter3.

HDFS Concepts

第8回 Blocks - Why Is a Block in HDFS So Large? 〜 Namenodes and Datanodes

2024/1/23(火) 開催
https://twitter.com/i/spaces/1eaKbgwoOErGX

第9回 Block Caching 〜 HDFS Federation

2024/1/24(水) 開催
https://twitter.com/i/spaces/1PlKQDdqXVYxE

→ ここで述べられている設定を、実機動かして試してみたい。。。

第10回 HDFS High Availability

2024/1/25(木) 開催
https://twitter.com/i/spaces/1eaKbgweRwQGX

第11回 Failover and fencing

2024/1/26(金) 開催
https://twitter.com/i/spaces/1rmxPMEpPkgKN

HAについて学んでいる中で、Zookeeper のたとえがよく出てきました。
HDFSの基本については引き続き学びつつ、ZooKeeper についても知りたい! ということで、次回からはZooKeeperの章を読んでいくことに。

Part4

Chapter21. ZooKeeper

第12回 章の冒頭

2024/1/29(月) 開催
https://twitter.com/i/spaces/1mrGmylYBVqGy

第13回 The ZooKeeper Service

2024/1/30(火) 開催
[前編]https://twitter.com/i/spaces/1OdJrjmqqnpJX
[後編]https://twitter.com/i/spaces/1zqKVqkllXwxB

前編の方が、リアルタイムの視聴の接続ができなかったようで、後編のスペースを立て直しました。
録音は両方普通に聴けます。

第14回 Ephemeral znodes ~ Sequence numbers ~ Watches

2024/1/31(水) 開催
https://twitter.com/i/spaces/1vOxwjByNzrJB

番外編

飛ばしてしまったコードの実装部分(znodeのグループ作る、グループにメンバー入れる、グループメンバーの一覧出す、消すの一連の流れ)を改めて読んでみたの巻。

Java のコードは全然わからなかったですが、解説を読むことでかなり具体的なイメージが湧いたので、読んでよかったです。

第15回 Operations

2024/2/1(木) 開催
https://twitter.com/i/spaces/1YqKDglkOrAxV

第16回 Watch Triggers の続き 〜 ACLs

2024/2/2(金) 開催
https://twitter.com/i/spaces/1nAJEaqONegJL

第17回 Implementation

2024/2/5(月) 開催
https://twitter.com/i/spaces/1BRJjPjMYPaKw

第18回 Consistency

2024/2/6(火) 開催
https://twitter.com/i/spaces/1mnGepnnXwvKX

第19回 Sessions

2024/2/7(水) 開催
https://twitter.com/i/spaces/1RDxllwokEoxL

第20回 time 〜 States

2024/2/8(木) 開催
https://twitter.com/i/spaces/1nAKEaqBnXAKL

Building Applications with ZooKeeper

第21回 冒頭 〜 A Configuration Service

2024/2/9(金) 朝の部
https://twitter.com/i/spaces/1eaKbgeqkOVGX

2024/2/9(金) 夜の部
https://twitter.com/i/spaces/1BRJjPjrbBdKw

第22回

2024/2/10(土) 開催
https://twitter.com/i/spaces/1eaJbgevZXVxX

ここまでで ZooKeeper の章を読み終わり、晴れてアメリカ出張に出かけることに!
次回からは、また Chapter 3 の HDFS コアの部分に戻って読んでいきます。

From the USA - Chapter3 の続き

第23回 Command Line Interface

2024/2/13(火)開催
https://twitter.com/i/spaces/1gqGvQMrlYkKB

第24回 Command Line Interface の続き

2024/2/14(水) 朝開催
https://twitter.com/i/spaces/1mnGepkyWQLKX

2024/2/14(水) 夜開催
https://twitter.com/i/spaces/1ynJOyzQoPlKR

第25回 Command Line Interface より、C、NFS、FUSE

2024/2/15(木)開催
https://twitter.com/i/spaces/1MnxnMyqazNJO

帰国しました〜

第26回 Reading Data From Hadoop URL

2024/2/19(月)開催
https://twitter.com/i/spaces/1DXxyjlojjyKM

第27回 Reading Data Using the FileSystem API

2024/2/20(火)開催
https://twitter.com/i/spaces/1jMJgmyoZRgKL

第28回 FSDataInputStream

2024/2/21(水)開催
https://twitter.com/i/spaces/1BRKjPkrMWaJw

第29回 Writing Data 〜 Directories

2024/2/22(木)開催
https://twitter.com/i/spaces/1ypKdkPvVEnxW

第30回 Querying the Filesystem より Filemetadata: FileStatus

2024/2/26(月)開催
https://twitter.com/i/spaces/1djGXNYgDpOxZ

第31回 Listing Files

2024/2/27(火)開催
https://twitter.com/i/spaces/1kvJpvVYdMkKE

第32回 File patterns ~ PathFilter ~ Deleting Data

2024/2/28(水)開催
https://twitter.com/i/spaces/1BdGYrNbDeEJX

Data Flow

第33回 Anatomy of a File Read

2024/2/29(木)開催
https://twitter.com/i/spaces/1mrGmyWWdWQGy

第34回 ↑の続き

2024/3/1(金)開催
https://twitter.com/i/spaces/1lDxLPNjzEoxm

第35回 Network Topology and Hadoop

2024/3/4(月)開催
https://twitter.com/i/spaces/1vAGRvLOVbDGl

第36回 Anatomy of a File Write 前半

2024/3/5(火)開催
https://twitter.com/i/spaces/1OdKrjNPLdzKX

第37回 Anatomy of a File Write 後半

2024/3/6(水)開催
https://twitter.com/i/spaces/1YqGoDVbYWQJv

第38回 Anatomy of a File Write の復習と、Replica Placement

2024/3/7(木)開催
https://twitter.com/i/spaces/1nAKEakqkpOKL

第39回 Coherency Model

2024/3/8(金)開催
https://twitter.com/i/spaces/1yNxaZAPYAqKj

第40回 Parallel Copying with distcp

2024/3/11(月)開催
https://twitter.com/i/spaces/1lPJqbYOQrbxb

Chapter4. YARN

第41回 YARN ~ Anatomy of a YARN Application Run 冒頭

2024/3/12(火)開催
https://twitter.com/i/spaces/1LyxBnweANExN

第42回 👆の続き 〜 Resource Request

2024/3/13(水)
https://twitter.com/i/spaces/1LyxBnwzkgyxN

第43回 Application Lifespan 〜 Building YARN Application

2024/3/14(木)
https://twitter.com/i/spaces/1ZkJzjqvOjrJv

第44回 YARN Compared to MapReduce1 の前半

2024/3/15(金)
https://twitter.com/i/spaces/1BRJjPVEywRKw

3/18(月)は象本を読み忘れていたぞう・・・

第45回 YARN Compared to MapReduce1 の後半

2024/3/19(火)
https://twitter.com/i/spaces/1vAxRvgZloyxl

第46回 Scheduler Options

2024/3/21(木)
https://twitter.com/i/spaces/1jMJgmYnMDqKL

第47回 Capacity Scheduler Configurations

2024/3/22(金)
https://twitter.com/i/spaces/1MnxnMLaRjeJO

第48回 Queue placement (Capacity Scheduler 配下の)〜

2024/3/25(月)
https://twitter.com/i/spaces/1kvKpvnyBQPJE

第49回 Queue Configuration

2024/3/26(火)
https://twitter.com/i/spaces/1ynKOyjQwXXJR

第50回 Queue placement (Fair Scheduler 配下の)〜

2024/3/27(水)
https://twitter.com/i/spaces/1yNGaZqeLwjJj

第51回 Delay Scheduling

2024/3/28(木)
https://twitter.com/i/spaces/1mrxmygDabgxy

第52回 Dominant Resource Fairness

2024/3/29(金)
https://twitter.com/i/spaces/1eaJbgYqwvXxX

17.Hive

第53回 冒頭部分

2024/4/1(月)
https://twitter.com/i/spaces/1nAKEaeOjXnKL

途中で録音が切れましたが、冒頭部分は最後まで読みました。
(エイプリルフールだけど嘘じゃないです。)

第54回 Installing Hive〜The Hive Shell

2024/4/2(火)
https://twitter.com/i/spaces/1OdKrjokQkwKX

第55回 An Example

2024/4/3(水)
https://twitter.com/i/spaces/1yNGaZmREBWJj

第56回 Configuring Hive

2024/4/4(木)
https://twitter.com/i/spaces/1dRKZEnPzXXxB

第57回 Which Properties Can I set?

一旦飛ばすとしていた MapReduce の章の範囲にこんなタイトルのコーナーがあると知り、いったん150ページに戻ってここをやります。
※諸事情により、前半部分のレコーディングを削除し後半のみアーカイブしています。

2024/4/5(金)
https://twitter.com/i/spaces/1BRJjPyeMeWKw

第58回 Execution engines

2024/4/8(月) ※前半が切れてしまっていたので後半だけです。。。
https://twitter.com/i/spaces/1YpKkwWXkVMKj

第59回 Hive Services の続き

2024/4/9(火)
https://twitter.com/i/spaces/1yNxaZVEZWVKj

第60回 Metastore

2024/4/10(水)
https://twitter.com/i/spaces/1vOGwjNpjloKB
https://twitter.com/i/spaces/1RDGllnkyXVGL

第61回 Transaction の話の続き

2024/4/11(木)
https://twitter.com/i/spaces/1vAxRvMbEvYxl

第62回 HiveQL 〜 Data Types の冒頭

2024/4/12(金)
https://twitter.com/i/spaces/1YpJkwWVNNmJj

第63回 Primitive Types

2024/4/15(月)
https://twitter.com/i/spaces/1lDGLPaDZNPGm

第64回 Complex Types 〜 Operators and Functions

2024/4/16(火)
https://twitter.com/i/spaces/1ynJOyAPrXkKR

第65回 Tables 〜 Managed Table の話まで

2024/4/17(水)
https://twitter.com/i/spaces/1RDGlldRemdGL

第66回 External Table

2024/4/22(月)
https://twitter.com/i/spaces/1MYGNoqQgwXJw

第67回 Buckets 前半

2024/4/25(木)
https://twitter.com/i/spaces/1MnGnMZQjqOKO

第68回 Buckets 後半〜 Storage Format 冒頭

2024/5/7(火)
https://twitter.com/i/spaces/1ZkKzjrkogvKv

第69回 The default format: Delimited text

2024/5/8(水)
https://twitter.com/i/spaces/1RDGllvgPEdGL

第70回 Binary storage formats: Sequence files, Avro datafiles, Parquet files, RC files, ORC files

2024/5/9(木)
https://twitter.com/i/spaces/1LyGBnLMDQoGN

第71回 Storage Handlers ~ Importing Data

2024/5/13(月)
https://twitter.com/i/spaces/1jMJgmwqkYAKL

第72回 Altering Tables

この回から、文を逐一日本語に訳すのをやめて、英語でぶつくさ独り言を言うスタイルに変えています。

2024/5/14(火)
https://twitter.com/i/spaces/1BRJjPqYVMwKw

第73回 MapReduce Scripts

2024/5/17(金)
https://x.com/i/spaces/1djGXNQyrdexZ

第74回 Outer joins ~ Subqueries ~ Views

2024/5/31(金)
https://x.com/i/spaces/1ZkKzjeynNRKv

第75回 User Defined Functions

2024/6/3(月)
https://x.com/i/spaces/1yNGaZYaWnbJj

第76回 Writing a UDAF

2024/6/5(水)
https://x.com/i/spaces/1LyxBnobEePxN

第77回 A more complex UDAF

2024/6/6(木)

特別回

Iceberg のドキュメント読むぞう

2024/4/23(火)
https://twitter.com/i/spaces/1eaJbgVlEndxX

2024/4/24(水)
https://twitter.com/i/spaces/1MnxnMZgzYyJO

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0