久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ODPS 功能之概述篇

 昵稱45231778 2017-07-09



用戶項(xiàng)目空間-Project
Project是用戶使用ODPS時(shí)最先接觸的概念,,它類似Oracle的schema或者M(jìn)ysql中的database。Project 也是ODPS中最基本的資源隔離單位,,每個(gè)用戶數(shù)據(jù)及計(jì)算任務(wù)都隸屬于一個(gè)Project,。 各Project 之間也可以通過授權(quán)建立共享通道,進(jìn)行數(shù)據(jù)交換,。Project 也是ODPS中的計(jì)量單元,,收費(fèi)也是以一個(gè)Project為基本單位的。
用戶在使用ODPS之前,,需要申請創(chuàng)建一個(gè)Project,,有了Project之后,,用戶就可以上傳數(shù)據(jù)做數(shù)據(jù)分析了。
數(shù)據(jù)處理流程
一般的大數(shù)據(jù)處理流程分為三部分,,如下圖所示:
22
1. 數(shù)據(jù)主要來源于在線系統(tǒng),,如業(yè)務(wù)數(shù)據(jù)庫Mysql、Oracle,,網(wǎng)站的日志文件,。 這些數(shù)據(jù)都可以通過ODPS提供的數(shù)據(jù)通道功能導(dǎo)入到ODPS中;
2. 數(shù)據(jù)導(dǎo)入后,,可以使用SQL、MR做數(shù)據(jù)分析,,也可以使用流計(jì)算對數(shù)據(jù)進(jìn)行聚合等操作,,還可以使用機(jī)器學(xué)習(xí)算法對數(shù)據(jù)建模、預(yù)測,。ODPS提供的是“All in One ”服務(wù),,只要數(shù)據(jù)導(dǎo)入到ODPS后,各種高大尚分析挖掘工具都可以直接拿過來使用,,用戶只需要關(guān)注在自己的數(shù)據(jù)業(yè)務(wù),,根本不需要關(guān)于底層是如何工作的;
3. 數(shù)據(jù)處理完畢后,,如果是算法模型,,可以使用ODPS的在線預(yù)測服務(wù),將模型Push到在線預(yù)測系統(tǒng)中進(jìn)行在線的數(shù)據(jù)預(yù)測,。如果是分析結(jié)果,,可以通過數(shù)據(jù)通道導(dǎo)回到Mysql 、Oracle中,,與業(yè)務(wù)應(yīng)用系統(tǒng)對接,;
圍繞這樣的一個(gè)數(shù)據(jù)處理流程,ODPS在各個(gè)階段提供了不同的功能,。
數(shù)據(jù)存儲
用戶的數(shù)據(jù)上傳到ODPS后,,默認(rèn)會以結(jié)構(gòu)化的方式存儲到ODPS的表。表隸屬于Project,,可以進(jìn)行分區(qū),,有自己的數(shù)據(jù)類型,如Bigint, Boolean, Double, Datetime, String, Decimal,。 數(shù)據(jù)上傳后,,以列壓縮的方式存儲到盤古上。這種壓縮方式的好處就是對于文本類型的數(shù)據(jù),,一般都能取得較好的壓縮比,,一般是4:1,即10G的數(shù)據(jù),在ODPS上的size為2.5G,。每個(gè)文件默認(rèn)會保存三份,。
數(shù)據(jù)通道
根據(jù)數(shù)據(jù)分析的性質(zhì), ODPS提供兩種數(shù)據(jù)通道-批量數(shù)據(jù)上傳及實(shí)時(shí)數(shù)據(jù)上傳兩種,。
批量數(shù)據(jù)上傳適合大量數(shù)據(jù)的上傳,,批量上傳通道限制每個(gè)寫入ODPS的數(shù)據(jù)塊最大為100G。每次上傳完成后,,調(diào)用Commit方法,,數(shù)據(jù)即可保存到表中;
實(shí)時(shí)上傳適合數(shù)據(jù)流處理的場景,,如流計(jì)算,,每次上傳數(shù)據(jù)的packet為2M。通過實(shí)時(shí)通道上傳的數(shù)據(jù)可以直接使用ODPS Stream SQL 進(jìn)行流計(jì)算,,也可以使用數(shù)據(jù)訂閱接口將數(shù)據(jù)轉(zhuǎn)發(fā)到第三方的流計(jì)算應(yīng)用中,,這個(gè)功能就類似于AWS的Kinesis。 通過實(shí)時(shí)上傳的數(shù)據(jù),,默認(rèn)會保存一份到ODPS表中,,所以也可以通過實(shí)時(shí)通道向ODPS實(shí)時(shí)導(dǎo)入數(shù)據(jù);
批量通道提供了上傳和下載的接口,,實(shí)時(shí)通道只提供了上傳的接口,,但同時(shí)也提供了訂閱接口,允許數(shù)據(jù)被其它應(yīng)用所訂閱,。
使用可以使用CLT中的數(shù)據(jù)上傳命令將本地的文本文件上傳至ODPS,,也可以使用Java、Python SDK通過編程上傳數(shù)據(jù),。 同時(shí)ODPS也引入了兩個(gè)開源社區(qū)中日志數(shù)據(jù)上傳的兩大利器:Flume和Fluentd,。用戶可以使用這兩個(gè)工具將各種源的數(shù)據(jù)上傳到ODPS中。今天ODPS的用戶大部分都在通過這兩款工具將Web 日志實(shí)時(shí)導(dǎo)入到ODPS中做數(shù)據(jù)分析,。
SQL
用戶最熟悉使用SQL對數(shù)據(jù)分析了,。ODPS也支持SQL查詢操作,而且語法類似于Hive 的HQL,。SQL操作的主要對象是表,,數(shù)據(jù)量可在T級到P級。SQL中提供的功能有:
DLL:表,、列,、分區(qū)、視圖,、生命周期等操作 ,;
DML:數(shù)據(jù)更新,、多路輸出以及動(dòng)態(tài)分區(qū)輸出 ;
Join:多表關(guān)聯(lián)分析,,支持 inner , left , right full join 以及mapjoin;
窗口函數(shù):支持常見的窗口函數(shù)如avg,count 也支持滑動(dòng)窗口,;
UDF: 支持通過Java、Python編寫UDF,、UDAF和UDTF,;
Stream SQL
通過實(shí)時(shí)通道上傳的數(shù)據(jù),可以直接使用Stream SQL做流計(jì)算,。 ODPS 的流計(jì)算是一種創(chuàng)新的流計(jì)算方式,,可以通過類SQL的語法就能定義流計(jì)算的作業(yè),如:
創(chuàng)建一個(gè)流計(jì)算的任務(wù),,該任務(wù)引用stream_in表作為數(shù)據(jù)源,,并且將結(jié)果寫入stream_out表中
create streamjob streamjob1 as
insert into stream_out
select count(*)
from stream_in ;
end streamjob;
隨著數(shù)據(jù)的上傳,在ODPS客戶端窗口中執(zhí)行若干次
select * from stream_out;
會發(fā)現(xiàn)有一系列逐漸累積增長的匯總數(shù)據(jù),。
Stream SQL 支持單流計(jì)算、多流Join,、同時(shí)還支持流與維表的Join,,并提供了聚合、排序及子查詢的功能,。
MapReduce
ODPS提供了MapReduce的編程接口,。用戶在處理數(shù)據(jù)時(shí),如果SQL滿足不了要求,,可以使用MapReduce,。
MapReduce處理數(shù)據(jù)過程主要分成2個(gè)階段:Map階段和Reduce階段。首先執(zhí)行Map階段,,再執(zhí)行Reduce階段,。Map和Reduce的處理邏輯由用戶自定義實(shí)現(xiàn), 但要符合MapReduce框架的約定,。
· 在正式執(zhí)行Map前,,需要將輸入數(shù)據(jù)進(jìn)行”分片”。所謂分片,,就是將輸入數(shù)據(jù)切分為大小相等的數(shù)據(jù)塊,,每一塊作為單個(gè)Map Worker的輸入被處理, 以便于多個(gè)Map Worker同時(shí)工作,。
· 分片完畢后,,多個(gè)Map Worker就可以同時(shí)工作了。每個(gè)Map Worker在讀入各自的數(shù)據(jù)后,,進(jìn)行計(jì)算處理,,最終輸出給Reduce,。Map Worker在輸出數(shù)據(jù)時(shí), 需要為每一條輸出數(shù)據(jù)指定一個(gè)Key,。這個(gè)Key值決定了這條數(shù)據(jù)將會被發(fā)送給哪一個(gè)Reduce Worker,。Key值和Reduce Worker是多對一的關(guān)系, 具有相同Key的數(shù)據(jù)會被發(fā)送給同一個(gè)Reduce Worker,,單個(gè)Reduce Worker有可能會接收到多個(gè)Key值的數(shù)據(jù),。
· 在進(jìn)入Reduce階段之前,MapReduce框架會對數(shù)據(jù)按照Key值排序,,使得具有相同Key的數(shù)據(jù)彼此相鄰,。如果用戶指定了”合并操作”(Combiner), 框架會調(diào)用Combiner,,將具有相同Key的數(shù)據(jù)進(jìn)行聚合,。Combiner的邏輯可以由用戶自定義實(shí)現(xiàn)。與經(jīng)典的MapReduce框架協(xié)議不同,,在ODPS中,, Combiner的輸入、輸出的參數(shù)必須與Reduce保持一致,。這部分的處理通常也叫做”洗牌”(Shuffle),。
· 接下來進(jìn)入Reduce階段。相同的Key的數(shù)據(jù)會到達(dá)同一個(gè)Reduce Worker,。同一個(gè)Reduce Worker會接收來自多個(gè)Map Worker的數(shù)據(jù),。 每個(gè)Reduce Worker會對Key相同的多個(gè)數(shù)據(jù)進(jìn)行Reduce操作。最后,,一個(gè)Key的多條數(shù)據(jù)經(jīng)過Reduce的作用后,,將變成了一個(gè)值。
由于目前ODPS MR只能處理ODPS中表里的數(shù)據(jù),,與Hadoop MR相比,,不同的地方就在Map和Reduce 的聲明上,如下:
33
ODPS MR的輸入數(shù)據(jù)是表的Record,,可以通過Record對象來獲取每列的值,,如:
44
ODPS對用戶提供了JAVA的MR編程接口,同時(shí)還可以使用開源的Eclipse 開源插件在本地編寫,、調(diào)度MR程序,,成功后再部署到ODPS上運(yùn)行。
圖模型-Graph
ODPS 提供了類似Google Pregel的圖編程模型,。 用戶可以用來編寫滿足聚類,、Pagerank以及求最短路徑這樣場景的算法。
ODPS GRAPH能夠處理的圖必須是是一個(gè)由點(diǎn)(Vertex)和邊(Edge)組成的有向圖,。由于ODPS僅提供二維表的存儲結(jié)構(gòu),, 因此需要用戶自行將圖數(shù)據(jù)分解為二維表格式存儲在ODPS中,,在進(jìn)行圖計(jì)算分析時(shí), 使用自定義的GraphLoader將二維表數(shù)據(jù)轉(zhuǎn)換為ODPS Graph引擎中的點(diǎn)和邊,。
點(diǎn)的結(jié)構(gòu)可以簡單表示為 < ID, Value, Halted, Edges >,,分別表示點(diǎn)標(biāo)識符(ID),權(quán)值(Value),,狀態(tài)(Halted, 表示是否要停止迭代),, 出邊集合(Edges,以該點(diǎn)為起始點(diǎn)的所有邊列表),。邊的結(jié)構(gòu)可以簡單表示為<DestVertexID, Value >,,分別表示目標(biāo)點(diǎn)(DestVertexID)和權(quán)值(Value)。如下圖所示:
55
典型的Graph 程序邏輯包括三步:
1. 加載圖:通過自定義的GraphLoader將數(shù)據(jù)解析為點(diǎn)或邊,,并對數(shù)據(jù)分片,,分配到相應(yīng)的Worker上;
2. 迭代計(jì)算:遍歷所有非結(jié)束狀態(tài)的點(diǎn)或收到消息的點(diǎn),,并調(diào)用其Compute方法進(jìn)行計(jì)算,;
3. 迭代終止:所有點(diǎn)處于結(jié)束或達(dá)到最大迭代次數(shù)后,程序終止,;
機(jī)器學(xué)習(xí)平臺 DT PAI
DT PAI是阿里巴巴推出的基于云計(jì)算的機(jī)器學(xué)習(xí)平臺,。在這個(gè)平臺上,用戶可以使用多種算法及在線預(yù)測服務(wù),。
DT PAI的功能包括

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多