從原理到應用,從原理到應用-ESG跨境

從原理到應用,從原理到應用

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-07-05
點贊icon 0
查看icon 644

從原理到應用,從原理到應用從原理到應用本次演講的主題是谷歌云數(shù)據(jù)流:從概念到實踐。數(shù)據(jù)流的概念在2014年6月的谷歌I/O大會上首次與開發(fā)者見面。同年12月,谷歌首次公布了Dataflow的Java SDK及其源代碼。2015年3月初,Dataflow正式上線。作為云服務產(chǎn)品,DataFlow出現(xiàn)在Google Clo......

從原理到應用,從原理到應用




從原理到應用

本次演講的主題是谷歌云數(shù)據(jù)流:從概念到實踐。

數(shù)據(jù)流的概念在2014年6月的谷歌I/O大會上首次與開發(fā)者見面。同年12月,谷歌首次公布了Dataflow的Java SDK及其源代碼。2015年3月初,Dataflow正式上線。作為云服務產(chǎn)品,DataFlow出現(xiàn)在Google Cloud產(chǎn)品線中,并提供了Alpha版本的試用應用。

在傳統(tǒng)的MapReduce大數(shù)據(jù)并行處理中,單個MapReduce節(jié)點無法滿足復雜的業(yè)務需求,因此大部分大數(shù)據(jù)處理都是通過MapReduce多節(jié)點流水線構(gòu)建的。這需要開發(fā)人員編寫額外的代碼來連接多個MapReduce節(jié)點,管理每個節(jié)點的狀態(tài)以及它們之間的數(shù)據(jù)傳輸,并維護一個大型的服務器集群。此外,大數(shù)據(jù)的實時計算也給MapReduce帶來了巨大的挑戰(zhàn)。這是谷歌開發(fā)數(shù)據(jù)流的初衷。作為Google Cloud的產(chǎn)品,Dataflow可以與App Engine、Compute Engine、Google Storage、Google Datastore、Google Cloud SQL云存儲服務相結(jié)合,快速構(gòu)建一個相對完整的實時大數(shù)據(jù)并行處理系統(tǒng)。數(shù)據(jù)流簡化了系統(tǒng)開發(fā)的過程。開發(fā)者使用SDK在本地進行開發(fā)、測試和調(diào)試,并將代碼提交給云服務進行測試,隨時運行。數(shù)據(jù)流會自動優(yōu)化用戶的流處理系統(tǒng),并將其分配到多個計算節(jié)點上并發(fā)執(zhí)行。

用戶開發(fā)的大數(shù)據(jù)系統(tǒng)可以從Google提供的各種存儲服務和Pub/Sub服務中讀取和處理數(shù)據(jù),然后寫入指定的存儲服務或Pub/Sub服務中。由于谷歌的存儲服務采用成熟的行業(yè)標準,用戶還可以將Hadoop、Spark等產(chǎn)品集成到Dataflow中。

底層數(shù)據(jù)依賴于兩種技術(shù):FlumeJava和MillWheel。類似于2003年MapReduce和BigTable的概念,谷歌研究院在2010年和2013年發(fā)表的兩篇論文分別介紹了FlumeJava和MillWheel。在此之前,這兩個項目在谷歌內(nèi)部都有一定程度的成功實踐。

FlumeJava發(fā)布后,很多媒體稱之為下一代MapReduce(個人覺得這個評價太高了)。FlumeJava是一個Java庫,為大數(shù)據(jù)的并行處理提供了更簡單的框架和工具,其底層算法模型是MapReduce。FlumeJava在更高層次上抽象了MapReduce管道的數(shù)據(jù)和流程,并提供了內(nèi)置的流程優(yōu)化策略。FlumeJava將數(shù)據(jù)模型抽象為PCollectionltTgt和PTableltk,Vgt兩個通用數(shù)據(jù)結(jié)構(gòu),其上定義了四個操作原語:parallelDo()、groupByKey()、combineValues()和flat()。同時在這四個操作原語的基礎(chǔ)上定義了count()、join()和top()等常用操作。與傳統(tǒng)MapReduce和專家優(yōu)化的MapReduce相比,F(xiàn)lumeJava在代碼行、方法和執(zhí)行時間上都優(yōu)于傳統(tǒng)MapReduce,與專家優(yōu)化的MapReduce不相上下。也說明了通過FlumeJava,普通開發(fā)者可以在更短的時間內(nèi)開發(fā)出一個專家MapReduce系統(tǒng)。

數(shù)據(jù)流的另一個底層技術(shù)是MillWheel,它提供了一個具有容錯機制的實時數(shù)據(jù)處理模型。根據(jù)谷歌研究院公布的論文,MillWheel是一個沒有提供可編程框架的模型和算法,所以目前我們沒有機會了解它的代碼級實現(xiàn)。原則上,MillWheel內(nèi)置了容錯機制,采用低水位線機制,避免網(wǎng)絡(luò)延遲等因素造成的數(shù)據(jù)流順序不一致。實時數(shù)據(jù)處理是近年來的一個熱點。市場上現(xiàn)有的產(chǎn)品包括Storm、Spark Streaming、雅虎S3、Samza等。與這四家的對比表明,MillWheel基本上是這幾款產(chǎn)品特性的集成。

了解FlumeJava和MillWheel的基本概念和原理,讓我們更容易理解數(shù)據(jù)流的運行機制和特點。Dataflow可以簡單的看作是兩者的融合,但是我相信Google花了很多精力來優(yōu)化兩者的融合以及整個Google Cloud產(chǎn)品線。

上圖是數(shù)據(jù)流的示例代碼,已經(jīng)開發(fā)了一個眾所周知的字數(shù)統(tǒng)計應用程序。從代碼中可以看出,編寫一個基于數(shù)據(jù)流的并發(fā)大數(shù)據(jù)處理流水線更加容易和簡單。Dataflow提供的SDK可以方便地將更改后的代碼提交給云服務執(zhí)行,并通過開發(fā)者控制臺進行監(jiān)控和管理。

總結(jié):Google Dataflow是為解決傳統(tǒng)MapReduce處理復雜業(yè)務流程的困難,滿足實時數(shù)據(jù)分析需求而開發(fā)的云服務。它為開發(fā)者提供了一個SDK、工具和云服務,用于快速開發(fā)、測試、調(diào)試、生產(chǎn)運營和監(jiān)控。它沒有創(chuàng)造性的理論或算法模型。因為是FlumeJava和MillWheel的集成,并且可以調(diào)用Google Cloud提供的存儲和Pub/Sub服務,所以可以在批處理和實時計算之間無縫切換。目前的缺陷是版本還不穩(wěn)定;谷歌云本身提供的服務相對較少;發(fā)布時間還短,沒有成功的商業(yè)案例。但谷歌作為直接開啟大數(shù)據(jù)潮流的先行者,其提供的大數(shù)據(jù)平臺仍然值得我們研究和探索。

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循CC 4.0 BYSA版權(quán)協(xié)議。轉(zhuǎn)載請附上原出處和本聲明的鏈接。

本文鏈接:https://blog.csdn.net/weixin 45932629/文章/詳情/103315968


文章推薦
從業(yè)務上云到構(gòu)建數(shù)智化駕駛艙
大品牌的ASO應該怎么做,aso品牌
初入出海賽道,國貨出海賽道
成功案例  HK01 攜手 Branch 推動自然互動率并提升 App 安裝量,spend your life in your own way


特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進群
美國賣家交流群
加入
美國賣家交流群
掃碼進群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進群
《TikTok官方運營干貨合集》
《TikTok綜合運營手冊》
《TikTok短視頻運營手冊》
《TikTok直播運營手冊》
《TikTok全球趨勢報告》
《韓國節(jié)日營銷指南》
《開店大全-全球合集》
《開店大全-主流平臺篇》
《開店大全-東南亞篇》
《CD平臺自注冊指南》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務
運營實操指導
運營提效資源福利
平臺官方專屬優(yōu)惠
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部