欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:hadoop Hive進(jìn)階

柚子快報(bào)激活碼778899分享:hadoop Hive進(jìn)階

http://yzkb.51969.com/

目錄

一、MapReduce的計(jì)算過程

二、Yarn的資源調(diào)度

yarn的資源調(diào)度策略

三、Hive的語法樹

四、Hive配置優(yōu)化

五、數(shù)據(jù)開發(fā)

六、數(shù)據(jù)倉庫

七、數(shù)據(jù)倉庫開發(fā)流程

八、數(shù)倉分層

九、ETL和ELT

一、MapReduce的計(jì)算過程

分布式計(jì)算框架

需要編寫代碼執(zhí)行,執(zhí)行時(shí)會(huì)數(shù)據(jù)所在服務(wù)器上運(yùn)行相同的計(jì)算代碼

計(jì)算過程分為map 和reduce過程

map對(duì)多份數(shù)據(jù)進(jìn)行拆分計(jì)算

reduce將分開的map結(jié)果合并一起計(jì)算

map的計(jì)算程序數(shù)量由文件塊個(gè)數(shù)據(jù)決定,每個(gè)map計(jì)算一個(gè)塊的數(shù)據(jù)

reduce的個(gè)數(shù)默認(rèn)是一個(gè);在進(jìn)行數(shù)據(jù)拆分存儲(chǔ)時(shí),reduce個(gè)數(shù)由分區(qū)數(shù)和分桶數(shù)決定

map將數(shù)據(jù)傳遞給reduce過程稱為shuffle過程

包含 分區(qū),排序,合并

Map階段

1-按照塊數(shù)量進(jìn)行split的塊數(shù)據(jù)讀取

2-split切割后的數(shù)據(jù)傳遞給對(duì)應(yīng)的map進(jìn)行處理,會(huì)對(duì)數(shù)據(jù)轉(zhuǎn)為kv (張三,1) (張三,1),(李四,1)

3-map將處理的后的數(shù)據(jù)寫入buffer緩存區(qū)

4-對(duì)緩沖區(qū)內(nèi)的數(shù)據(jù)進(jìn)行spill溢出(讀取緩沖區(qū)內(nèi)的數(shù)據(jù))

5-對(duì)讀取的數(shù)據(jù)進(jìn)行分區(qū),將數(shù)據(jù)拆分多份

6-對(duì)每份拆分的數(shù)據(jù)進(jìn)行排序 sort

7-將拆分的數(shù)據(jù)寫入不同的文件

8-在將每次溢出的數(shù)據(jù)合并merge在一起,保存同一文件,文件是臨時(shí)文件,計(jì)算后會(huì)刪除

Reduce階段

1-根據(jù)的分區(qū)數(shù)創(chuàng)建出多個(gè)reduce

2-每個(gè)reduce從不同的map中fetch獲取相同分區(qū)的文件數(shù)據(jù)

3-在將fetch后的文件合并,對(duì)合并后的數(shù)據(jù)進(jìn)行排序

4-reduce對(duì)合并后的文件數(shù)據(jù)進(jìn)行計(jì)算

5-reduce對(duì)結(jié)果輸出到hdfs的目錄下

二、Yarn的資源調(diào)度

分布式資源調(diào)度,管理整個(gè)hadoop集群的所有服務(wù)器資源

6.7章節(jié)

ResourceManger

負(fù)責(zé)處理所有計(jì)算資源申請(qǐng) NodeManager

負(fù)責(zé)資源空間(container)的創(chuàng)建 ApplicationMaster

管理計(jì)算任務(wù),只有產(chǎn)生了mapreduce計(jì)算才會(huì)運(yùn)行ApplicationMaster 負(fù)責(zé)具體的資源分配

map使用多少 reduce使用多少

1-mapreduce提交計(jì)算任務(wù)給RM(ResourceManager)

2-RM中的applicationmanager負(fù)責(zé)創(chuàng)建applicationMaster進(jìn)程

3-applicationMaster和applicationmanager保持通訊

4-applicationMaster找RM中的ResourceScheduler(資源調(diào)度器)申請(qǐng)計(jì)算需要的資源

5-applicationMaster通知對(duì)應(yīng)的NodeManger創(chuàng)建資源空間container

6-在資源空間中先運(yùn)行map階段的計(jì)算,先運(yùn)行reduce階段的計(jì)算

7-map和reduce運(yùn)行期間會(huì)將自身狀態(tài)信息匯報(bào)給applicationMaster

8-計(jì)算完成后,applicationMaster通知NodeManger釋放資源

9-資源釋放后再通知applicationmanager把自身(applicationMaster)關(guān)閉釋放資源

yarn的資源調(diào)度策略

當(dāng)有多個(gè)計(jì)算任務(wù)同時(shí)請(qǐng)求yarn進(jìn)行計(jì)算,如何分配資源給每個(gè)計(jì)算任務(wù)?

先進(jìn)先出

誰先搶到資源誰使用所有資源 資源利用效率低 如果遇到一個(gè)計(jì)算時(shí)間較長的任務(wù),保資源占用后。其他的任務(wù)就無法計(jì)算 容量調(diào)度

將資源分成多份

不同計(jì)算任務(wù)使用不同的資源大小 公平調(diào)度

資源全部給一個(gè)計(jì)算任務(wù)使用,但是當(dāng)計(jì)算任務(wù)中的某個(gè)map或reduce計(jì)算完成后,可以將自身資源釋放掉給其他計(jì)算任務(wù)使用

5個(gè)map,其中有兩個(gè)map計(jì)算完成,就可以先釋放掉兩個(gè)資源,給他任務(wù)使用,不同等待所有任務(wù)計(jì)算完成在釋放

三、Hive的語法樹

解析器

解析sql關(guān)鍵詞轉(zhuǎn)為語法數(shù)據(jù) 分析器

分析語法格式,字段類型等是否正確 優(yōu)化器

謂詞下推

調(diào)整jion和where執(zhí)行順序 列值裁剪 執(zhí)行器

將語法中的邏輯轉(zhuǎn)為mapreduce的計(jì)算java代碼交給MR執(zhí)行

四、Hive配置優(yōu)化

hive中有三種配置方式

配置文件配置

hive的安裝目錄下的conf目錄中的hive-site.xml 全局有效,啟動(dòng)hive后會(huì)自動(dòng)使用配置文件中的配置 文件格式xml

hive指令配置

nohup hive --service hiveserve2 --hiveconf 'hive.exec.dynamic.partition.mode=nostrict' &

set配置

在sql的操作界面設(shè)置

set hive.exec.dynamic.partition.mode=nostrict;

set hive.exec.dynamic.partition.mode;

優(yōu)先級(jí): set配置 > hive指令配置 > 配置文件

set配置只在當(dāng)前操作界面生效,創(chuàng)建新的連接窗口就是失效了

日常開發(fā)中為了減少配置信息的影響,誰開發(fā)誰設(shè)置,采用set方式

hive的配置屬性信息 Configuration Properties - Apache Hive - Apache Software Foundation

五、數(shù)據(jù)開發(fā)

數(shù)據(jù)開發(fā)主要分兩種

操作型處理,叫聯(lián)機(jī)事務(wù)處理OLTP(On-Line Transaction Processing)

對(duì)數(shù)據(jù)進(jìn)行事務(wù)操作,保證數(shù)據(jù)操作的安全性 事務(wù)特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability) 原子性:一個(gè)sql語句的執(zhí)行是不可拆分的,能完整執(zhí)行得到結(jié)果,不被搶占資源

select * from (select * from tb2) tb; 一致性

多表數(shù)據(jù)寫入時(shí),數(shù)據(jù)是一致性

訂單表

小米手機(jī) 1 商品表

小米手機(jī) 99 隔離性

程序員張三 update from order set stock=old_stock-num where id=1

在更新數(shù)據(jù)之前會(huì)先查詢剩余庫存的 程序員李四 update from order set stock=90 where id=1 保證每個(gè)sql執(zhí)行的任務(wù)是獨(dú)立的,此時(shí)任務(wù)就要按順序執(zhí)行語句 持久性

數(shù)據(jù)會(huì)持久存儲(chǔ)在磁盤上 業(yè)務(wù)開發(fā)使用到數(shù)據(jù)庫都屬于聯(lián)機(jī)事務(wù)處理

業(yè)務(wù)開發(fā)(網(wǎng)站或程序)進(jìn)行的數(shù)據(jù)操作對(duì)安全性要求比較高,所有采用的數(shù)據(jù)操作方式是聯(lián)機(jī)事務(wù)處理 分析型處理,叫聯(lián)機(jī)分析處理OLAP(On-Line Analytical Processing)

大數(shù)據(jù)的數(shù)據(jù)開發(fā)主要進(jìn)行的是聯(lián)機(jī)分析處理

對(duì)數(shù)據(jù)進(jìn)行查詢計(jì)算,得到結(jié)果進(jìn)行分析 數(shù)據(jù)一般是一次寫入,多次讀取 大數(shù)據(jù)開發(fā)不涉及數(shù)據(jù)的刪除,也不修改數(shù)據(jù)

六、數(shù)據(jù)倉庫

數(shù)據(jù)倉庫就是對(duì)公司的過往歷史數(shù)據(jù)進(jìn)行計(jì)算分析,為公司決策提供數(shù)據(jù)支撐

歷史數(shù)據(jù)的數(shù)據(jù)量比較大,就需要采用大數(shù)據(jù)技術(shù)實(shí)現(xiàn)數(shù)據(jù)倉庫開發(fā)

使用HiveSQL對(duì)海量數(shù)據(jù)采用結(jié)構(gòu)化數(shù)據(jù)方式進(jìn)行計(jì)算

數(shù)倉開發(fā)本質(zhì)就是將文件數(shù)據(jù)轉(zhuǎn)為了結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分析計(jì)算的

數(shù)倉特征

面向主題的(Subject-Oriented )

根據(jù)分析內(nèi)容采集相關(guān)數(shù)據(jù)進(jìn)行計(jì)算 每個(gè)分析方向就是一個(gè)主題 集成的(Integrated)

將相關(guān)主題的數(shù)據(jù)收集在一起進(jìn)行計(jì)算,形成一個(gè)大的寬表 銷售主題開發(fā)

訂單表,訂單商品表,訂單評(píng)價(jià),退款訂單表 非易失的(Non-Volatile)

數(shù)倉數(shù)據(jù)不容易丟失,也不會(huì)進(jìn)行刪除和修改 時(shí)變的(Time-Variant )

隨著分析需求的改變,數(shù)倉中的數(shù)據(jù)也在不斷變化,隨著時(shí)間推移,統(tǒng)計(jì)的字段計(jì)算數(shù)據(jù)也在發(fā)生變化 用戶表 用戶名,用戶性別,用戶年齡,用戶地址,用戶手機(jī)號(hào)

七、數(shù)據(jù)倉庫開發(fā)流程

設(shè)計(jì)主題計(jì)算需求

數(shù)據(jù)分析師或者數(shù)據(jù)產(chǎn)品經(jīng)理 數(shù)據(jù)來源

Mysql中的業(yè)務(wù)數(shù)據(jù) 文件數(shù)據(jù) excel文件,csv文件,json,log 采集數(shù)據(jù)源數(shù)據(jù)

kettle sqoop datax 代碼采集 對(duì)采集的數(shù)據(jù)進(jìn)行清洗轉(zhuǎn)化,將處理的后的數(shù)據(jù)寫入到hdfs中

數(shù)據(jù)采集時(shí)單獨(dú)崗位

ETL開發(fā)工程師 數(shù)據(jù)的計(jì)算

mapreduce --> hiveSQL spark flink 數(shù)據(jù)計(jì)算和結(jié)果保存屬于數(shù)倉開發(fā)崗 將計(jì)算的結(jié)果數(shù)據(jù)存儲(chǔ)到指定位置

hdfs habse es Mysql 數(shù)據(jù)計(jì)算和結(jié)果保存屬于數(shù)倉開發(fā)崗 對(duì)結(jié)果數(shù)據(jù)進(jìn)行BI展示

fineBI powerBI superset BI工程師

八、數(shù)倉分層

將數(shù)據(jù)的計(jì)算過程拆分成多個(gè)部分就是數(shù)倉分層

分層實(shí)現(xiàn)就是創(chuàng)建不同數(shù)據(jù)庫

數(shù)倉最基本的三個(gè)分層

ODS(old data service)

保存原始數(shù)據(jù),采集清洗后的數(shù)據(jù)會(huì)被寫入ods層 create databases ods; DW(Data WareHouse)

數(shù)倉開發(fā)層,對(duì)數(shù)據(jù)進(jìn)行計(jì)算 create databases dw; APP(application)

結(jié)果數(shù)據(jù)層 不同主題下的數(shù)據(jù)保存在對(duì)應(yīng)表目錄下 create databases app;

對(duì)dw層可以進(jìn)行分層的拆分

dwb 基礎(chǔ)數(shù)據(jù) 在這一層進(jìn)行數(shù)據(jù)的過濾

dwd 數(shù)據(jù)詳情層 進(jìn)行數(shù)據(jù)的關(guān)聯(lián)

對(duì)數(shù)據(jù)的計(jì)算流程拆分后,形式一個(gè)完成數(shù)據(jù)開發(fā)流程,在流程中的每個(gè)關(guān)節(jié)都可以單獨(dú)進(jìn)行開發(fā)

select gender,avg(age) from tb1 join tb2 where dt = 2021-10-10 group by gender

?

?

?

1-數(shù)據(jù)的過濾

insert into tb1_where select * from tb1 where dt = 2021-10-10

insert into tb2_where select * from tb2 where dt = 2021-10-10

?

insert into tb1_where select * from tb1 where age > 20

insert into tb2_where select * from tb2 where name='張三'

?

2-關(guān)聯(lián)表數(shù)據(jù)據(jù)

-- 新的表中保存了關(guān)聯(lián)后的所有數(shù)據(jù)

insert into tb1_tb2_where select * from tb1_where join tb2_where

?

?

3-數(shù)據(jù)分組計(jì)算

select gender,avg(age) from tb1_tb2_where group by gender

select city,avg(age) from tb1_tb2_where group by city

九、ETL和ELT

extract 數(shù)據(jù)抽取 transform 數(shù)據(jù)清洗轉(zhuǎn)化 load 數(shù)據(jù)的導(dǎo)入

ETL 屬于數(shù)據(jù)采集工作 通過采集工具采集的對(duì)應(yīng)的數(shù)據(jù)內(nèi)容,對(duì)內(nèi)容清洗轉(zhuǎn)化,在將清洗轉(zhuǎn)化后的數(shù)據(jù)寫入hdfs

ELT是將etl的開發(fā)流程進(jìn)行了調(diào)整,使用采集工具采集數(shù)據(jù),將數(shù)據(jù)直接寫入hdfs,清洗轉(zhuǎn)化過程可以使用hiveSQL在數(shù)倉中執(zhí)行

柚子快報(bào)激活碼778899分享:hadoop Hive進(jìn)階

http://yzkb.51969.com/

相關(guān)閱讀

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18843000.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄