Hadoop權威指南(第4版)-OReilly 2016 讀書筆記

Hadoop權威指南(第4版)-OReilly 2016-ReadingNotes.md

初識Hadoop

關於MapReduce

  • mapper和reducer
  • combiner*

HDFS

  • p48 Hadoop2: HA,備用namenode
  • 2種HA共享存儲:
    • NFS過濾器
    • QJM(quorum journal manager)
  • p73 副本怎麼放
    • 由近到遠隨機放(注意,hadoop不使用DHT機制,靠的是namenode的索引維護)

YARN

  • p83 MapReduce 1 vs YARN
    • RM -> NM(管理監控容器):YARN vs k8s vs Mesos?

Hadoop的I/O操作

  • p99 deflate/gzip不可切分???見鬼(bz2反而可以?)
    • p105 壓縮塊連續存儲,沒有特殊標記,無法從數據流任意位置快速定位到下一個塊
  • 自定義序列化格式:Writable
    • WritableComparator
  • 高層次容器封裝:SequenceFile
    • MapFile:排序過的SequenceFile,有索引(這讓我想起chromium for android裏面的pak資源格式)
  • 其他:Avro、ORCFile

MapReduce應用開發

  • Configuration API

  • MRUnit

    • p159 測試驅動程序:Mini集羣?
  • 打包作業

  • Web界面

  • 日誌

  • 作業調優

  • 工作流:JobControl、Oozie

MapReduce工作機制

  • p191 map/reduce任務的JVM會在退出前向其父app master發送錯誤報告
  • p195 shuffle:系統執行排序,將map輸出作爲輸入傳給reduce的過程
    • 溢出文件(spill file),combiner
  • p202 推測執行
  • OutputCommiter *

MapReduce類型與格式

  • 默認情況下,只有1個reducer
  • InputFormat
    • 輸入分片
  • OutputFormat(略)

MapReduce特性

  • 用戶自定義計數器
    • p250 動態計數器:enum --> string?
  • 排序是MapReduce的核心技術?
    • p256 通過對鍵空間進行採樣,可較爲均勻地劃分數據集
    • 輔助排序*
  • 連接
    • map端:merge-join?
      • org.apache.hadoop.mapreduce.join.CompositeInputFormat
    • reduce端:hash-join?
  • 邊數據(side data)分佈
    • 分佈式緩存(org.apache.hadoop.filecache.DistributedCache)

構建Hadoop集羣

  • 商用機器規格:靠
  • Hadoop安全
    • 委託令牌?

管理Hadoop

關於Avro

關於Parquet

  • p364 原子類型:int96??

Flume

Sqoop

  • p414 BlobRef
  • p416 Sqoop會根據目標表的定義生成java類(這個牛)

Pig

  • p432 多查詢執行(類似於編譯器後端優化中的CSE)
  • p452 UDF
  • p459 分段複製連接(fragment replicate join):這不就是Hive裏的broadcast hash join嘛

Hive

  • 執行引擎:Tez/Spark的優越性??
  • p482 其他SQL-on-Hadoop:Apache Phoenix:SQL on HBase
  • HiveQL
  • 分區和桶
  • p504 Hive只支持等值連接?
    • RBO -> 0.14+ CBO
  • p512 UDAF(聚集函數)

Crunch

Spark

HBase

ZooKeeper

案例學習:醫療公司Cerner的可聚合數據

生命數據科學:用軟件拯救生命

Cascading

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章