hadoop:
大資料叢集,隻能運作在linux平台
rdbms:表
字段、資料類型、限制
結構化資料
關系資料庫在資料中占據重要的地位
但不是所有的資料都可以結構化
結構化資料:structured data
非結構化資料:unstructured data
半結構化資料:semi-structured data
通常儲存為xml , json
google:pagerank 頁面算法
化整為零,并行處理
将一個大問題切割成多個小問題
olap:資料挖掘
機器學習:deep learning
多節點并行處理
map reduce:
函數式程式設計api
運作架構
hdfs + mapreduce=hadoop
hdfs:
namenode:nn節點
datanode:dn節點
mapreduce:
jobtracker:jt節點
tasktracker:tt節點
hadoop使用java語言開發,mapper,reducer都是使用java語言開發
hadoop生态:
一個mapper,reducer可以沒有reduce,但不能沒有mapper
1、hdfs設計用來存儲大檔案,對海量小檔案的存儲不太适用;
2、使用者空間的檔案系統;
3、hdfs不支援修改;新版本支援追加;
4、不支援挂載,并通過系統調用進行通路,隻能使用專用通路接口,如專用指令行工具,api;
scribe ,facebook
flume
hadoop外圍元件
hadoop叢集生态,生态圈
hive 中間元件
技術是面向場景的
基于hbase可以做資料修改
hbase 是nosql,稀疏格式存儲方案
cloudera , cdh 著名hadoop技術服務提供商類似于redhat
關系型資料庫資料導入到hadoop流程圖:
rdbms --> sqoop --> hbase --> hdfs
avro :将資料序列化
如何學習hadoop
1、安裝配置hdfs
2、安裝配置mapreduce
3、hbase
4、hive
5、sqoop
6、flume/scribe/chukwa
hdfs正常情況幾個節點:四個節點
本地模式 調試模式
僞分布式(使用一個節點)
完全分布式(4以上的節點)
hadoop 并行處理系統 多副本
mapreduce
處理邏輯
關系資料庫:
行式資料庫 ,表
hbase :
列式資料庫
鍵值對 ,鍵值組
收集日志的工具
flume (asf)
chukwa (asf)
scribe (facebook)
比hadoop更進階的程式設計接口 讀入工具
hive sql
pig
crunch java api
avro 序列化工具
hadoop有強大的生态環境
sqoop :
讓hdfs 分析關系資料庫(oracle ,mysql ,sql server ,db2)中的資料
zookeeper 管理元件
生态圖
hadoop核心元件:
hdfs
r語言
r是用于統計分析、繪圖的語言和操作環境。r是屬于gnu系統的一個自由、免費、源代碼開放的軟體,它是一個用于統計計算和統計制圖的優秀工具
僞分布式系統基本5個程序:
jobtracker
tasktracker
namenode
secondarynamenode
datanode
hadoop生态各個元件之間相容性不太好 元件來自于各個開源項目
cloudera cdh 組合發行版是hadoop的一個分支,比較著名的
各種配置檔案 .xml
hadoop程序監聽的位址和端口