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

# この試みについて

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

https://www.amazon.co.jp/dp/9352130677/

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

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

# すすめかた

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

- 原則、平日の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

:::note
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

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

#### 第14回 Ephemeral znodes ~ Sequence numbers ~ Watches

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

#### 番外編

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

https://twitter.com/i/spaces/1rmxPMEgmYYKN

::: note
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

:::note
ここまでで 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

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

### 第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?

:::note
一旦飛ばすとしていた 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