大數據第三天

大數據第三天

1.HBase————分佈型數據庫(NoSQL)
	1.表  存儲管理數據
	2.行鍵	相似關係型數據庫中的主鍵  HBase自帶  通常爲查詢比較多的列
	3.列族  列的集合   在定義表時指定的
	4.時間戳 列的一個屬性  若是不指定時間戳,默認取最新的數據
	5.優勢
		1.海量數據秒級簡單查詢
		2.並行查詢
	6.特殊表
		-ROOT- 記錄.META表的Region信息,只有一個region
		.META  記錄用戶表的Region信息,能夠有多個region
	7.查詢請求過程
		zookeeper->-ROOT- ->.META -> 最終位置
	8.安裝
		1.解壓安裝包
		2.添加HBase環境變量 /etc/profile
		3.修改配置文件
			hbase-env.sh
			hbase-site.xml
		4.啓動
			啓動前需保證已經啓動hadoop
		5.驗證
			jps查看進程 分別是HMaster/HRegionServer/HQuorumPeer
			web:   hadoop:60010
	9.shell使用
		1.建立表  create
		2.添加記錄 put
		3.查看記錄 get
		4.刪除記錄 delete
		5.更改記錄 重寫覆蓋
		6.查詢記錄總數 count
		7.刪除表 先disable 再drop
		8.查看錶結構 desc 
	10.javaAPI
		1.導入jar包
		2.獲得Configuration對象
		3.建立表/刪除表使用HBaseAdmin對象
		4.插入記錄、查詢記錄使用HTable對象
	11.	HDFS數據導入HBase	
	
2.Hive————SQL to MR
	1.簡介
		hive是一個sql解析引擎,能夠把sql查詢轉換成mr中的job來運行
	2.安裝
		1.解壓安裝包
		2.配置hive環境變量 /etc/profile
		3.修改配置文件
			hive-site.xml/hive-env.sh/hive-config.sh
		4.修改hadoop配置文件
			hadoop-env.sh
		5.拷貝mysql jdbc鏈接jar到lib目錄下
	3.安裝mysql(用於存儲元信息)
	4.配置hive鏈接mysql(經過jdbc方式)
	5. 內部表
	   CREATE TABLE t1(id int);  
	   LOAD DATA LOCAL INPATH '/root/id' INTO TABLE t1; 
	   CREATE TABLE t2(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
	6. 分區表
	   CREATE TABLE t3(id int) PARTITIONED BY (day int);  
	   LOAD DATA LOCAL INPATH '/root/id' INTO TABLE t1 PARTITION (day=22);   
	7. 桶表
	   create table t4(id int) clustered by(id) into 4 buckets; 
	   set hive.enforce.bucketing = true;
	   insert into table t4 select id from t3;
	8. 外部表
	   create external table t5(id int) location '/external';  
	9.UDF————用於自定義函數
		1.繼承org.apache.hadoop.hive.ql.UDF
		2.實現evaluate函數,evaluate函數支持重載
		3.注:UDF只能實現一進一出的操做,若是須要實現多進一出,則須要實現UDAF
		
	
3.Pig————PLain to MR
	1.安裝
		1.解壓安裝包
		2.配置pig環境變量 /etc/profile
		3.修改配置文件——pig.properties
		4.便可使用,具體使用詳情可度娘(重點不在這,在Hive)

4.Zookeeper————集羣資源管理和保證節點數據的事務性、完整性
	4.1 leader  負責進行投票的發起和決議,更新系統狀態
	4.2 learner	 包括follower和observer
			其中:
					follower用於接受客戶端請求並向客戶端返回結果,在選主過程當中參與投票
					observer用於接受客戶端鏈接,將寫請求轉發給leader,但其不參加投票過程,只同步leader的狀態
	4.3 client	請求發起方	
	
5.Mahout————基於MR開發的數據挖掘和機器學習庫	
	5.1 聚類算法
		將相似的對象劃分紅多個類的算法
			以k-means算法爲例
				思想:
					a.給定聚類個數K
					b.按照數據特徵,將其分爲k個類別
				步驟:
					1.提取feadture
					2.將feadture向量化
					3.利用K-means算法實現聚類
	5.2 分類算法
		有監督機器學習算法,需提供樣本,根據樣本獲得分類模型
			步驟:
				1.訓練樣本,獲得分類模型
				2.對分類模型進行測試,並嘗試調優
				3.將分類模型用於線上產品中
	5.3 推薦算法

6.Flume————分佈式日誌收集框架
	1.agent是一個java進程,運行在日誌收集節點
		a.source組件是專用於收集日誌文件,收集數據後臨時存放在channel中
		b.channel組件是用於臨時存儲數據
		c.sink組件是用於把數據發送到目的地的
		d.event組件是數據傳輸中的數據流
	2.安裝
		1.解壓包
		2.配置環境變量 /etc/profile
		3.修改配置文件
			配置source1
			配置channel1
			配置sink1
			詳情參考配置文件模板
		3.運行flume-ng.sh
7.sqoop————對數據進行導入導出
	1.安裝
		1.解壓包
		2.配置環境變量 /etc/profile
		3.修改配置文件
			sqoop-env.sh/sqoop-site.xml
		4.拷貝mysql jdbc鏈接jar到lib目錄下
	2.使用		
		1.從mysql->hdfs中(默認導出路徑是hdfs根目錄下/user/root(當前登錄用戶)中)
			sqoop import --connect "jdbc:mysql://hadoop:3306/test?useUnicode=true&characterEncoding=utf-8" --username root --password root --table t_test --fields-terminated-by '\t' --null-string '**'	
				--connect  關係型數據庫鏈接url
				--username  用戶名
				--password	密碼
				--table		表名
				--fields-terminated-by	導出時字段分隔符
				--null-string			導出時字段爲空替換符(若是不設置這項,若字段爲空,會報錯)		
		2.從hdfs->mysql中(默認導出路徑是hdfs根目錄下/user/root(當前登錄用戶)中)
			sqoop export --connect "jdbc:mysql://hadoop:3306/test?useUnicode=true&characterEncoding=utf-8" --username root --password root --table t_test --fields-terminated-by '\t' --export-dir 'ids'
				--export-dir 導入目錄
		3.增量導入導出
			--check-column  檢查列
			--last-value	最後存儲的值
			--incremental append 增長方式
		4.添加任務————將經常使用的語句添加到任務
			sqoop job --create myjob -- export --connect "jdbc:mysql://hadoop:3306/test?useUnicode=true&characterEncoding=utf-8" --username hive --password hive --table stock_detail --fields-terminated-by '\t' --export-dir 'stock_detail'
		5.運行任務
			sqoop job --exec 任務名(注意配置免密碼,否則須要輸入mysql的密碼,注意是mysql數據庫用戶密碼而不是linux的)
		6.查看任務
			sqoop job --list
		6.刪除任務
			sqoop job --delete
		7.設置免密碼
			配置文件site.xml  
				sqoop.metastore.client.record.password 打開這項,默認是註釋的
		8.事務處理
			以Mapper任務爲單位
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		

	
相關文章
相關標籤/搜索