基于Spark的數(shù)據(jù)分析實踐
對RegisterDataFrameAsTable的分析
通過單個 regiserDataFrameAsTable 項進行分析,SparkSQL 并不是把source 的數(shù)據(jù)立即計算把數(shù)據(jù)放到內(nèi)存,而是每次執(zhí)行 source 時只是生成了一個 Logical Plan,只有遇到需要提交的算子(Action),SparkSQL 才會觸發(fā)前面所依賴的的 plan 執(zhí)行。
總結(jié)
這是一個開發(fā)框架,不是一個成熟的產(chǎn)品,也不是一種架構(gòu)。他只是基于 SparkSQL 整合了大多數(shù)的外部系統(tǒng),能通過 XML 的模板配置完成數(shù)據(jù)開發(fā)。面向的是理解數(shù)據(jù)業(yè)務(wù)但不了解 Spark 的數(shù)據(jù)開發(fā)人員。整個框架完成了大多數(shù)的外部系統(tǒng)對接,開發(fā)者只需要使用 type 獲得數(shù)據(jù),完成數(shù)據(jù)開發(fā)后通過 target 回寫到目標系統(tǒng)中。整個過程基本無須程序開發(fā),除非當前的 SQL 函數(shù)無法滿足使用的情況下,需要自行開發(fā)一下特定的 UDF。因此本框架在對 SparkSQL 做了二次開發(fā)基礎(chǔ)上,大大簡化了 Spark 的開發(fā),可降低了開發(fā)者使用難度。
精選提問:
問1:和Fink平臺有什么優(yōu)勢么?
答:Flink 應(yīng)該對標 Spark Streaming 的解決方案,是另一種可選流數(shù)據(jù)引擎。Flink 也采用了 Scala 語言,內(nèi)部原理和操作數(shù)據(jù)方式頗有相似之處,是 SparkStreaming 之外流數(shù)據(jù)處理一種選型; SparkSQL Flow 的架構(gòu)主要側(cè)重批量數(shù)據(jù)分析,非實時 ETL 方面。
問2:這些應(yīng)該是源數(shù)據(jù)庫吧,請問目標數(shù)據(jù)庫支持哪些?
答:目前的實現(xiàn)目標數(shù)據(jù)基本支持所有的源。
問3:你們產(chǎn)品是軟件開發(fā)平臺,spark和你們開發(fā)平臺啥關(guān)系?
答:普元針對部分成熟場景提供了一些開發(fā)平臺和工具,也在參與了一些大數(shù)據(jù)項目建設(shè)。對于大規(guī)模數(shù)據(jù)的數(shù)據(jù)報表,數(shù)據(jù)質(zhì)量分析也需要適應(yīng)大數(shù)據(jù)的技術(shù)場景,Spark 作為Hadoop 內(nèi)比較成熟的解決方案,因此作為主要的選型工具。在參與部分項目實施過程中,通過對一些開發(fā)中的痛點針對性的提取了應(yīng)用框架。
問4:對于ETL中存在的merge、update的數(shù)據(jù)匹配、整合處理,Spark SQL Flow有沒有好的解決方法?
答:merge 和 update 在數(shù)據(jù)開發(fā)過程不可避免,往往對數(shù)據(jù)庫造成較大壓力。大數(shù)據(jù)場景下不建議逐條對數(shù)據(jù)做 update 操作,更好的辦法是在數(shù)據(jù)處理階段通過 join 把結(jié)果集在寫入目標前準備好,統(tǒng)一一次性寫入到目標數(shù)據(jù)庫。查詢操作通過換庫使用新庫,這中操作一般適合數(shù)據(jù)量比較大,數(shù)據(jù)更新頻率較低的情況。如果目標庫是 HBase 或者其他 MPP 類基于列式的數(shù)據(jù)庫,適當?shù)目梢愿隆5钱斆刻煊?60% 以上的數(shù)據(jù)都需要更新時,建議還是一次性生成新表。
問5: blink和flink 應(yīng)該如何選?
答:blink 是阿里巴巴在 flink 基礎(chǔ)上做了部分場景優(yōu)化(只是部分社區(qū)有介紹,并不明確)并且開源,但是考慮到國內(nèi)這些機構(gòu)開源往往是沒有持久動力的。要看采用 Blink 是否用了比較關(guān)鍵的特性。也有消息說 Blink 和 Flink 會合并,畢竟阿里 Dubbo 前期自己發(fā)展,后期還是捐給了 Apache,因此兩者合并也是有可能。建議選型 Flink。
問6:etl 同步數(shù)據(jù)中主要用哪些工具?
答:這個要區(qū)分場景。傳統(tǒng)數(shù)據(jù)庫之間,可采用日志同步,也有部分成熟的工具;
傳統(tǒng)數(shù)據(jù)庫和Hadoop 生態(tài)內(nèi)(HBase,HIVE) 同步可使用 apache sqoop。 SparkSQL Flow 可以作為數(shù)據(jù)同步的另一種方案,可用在實時性不高的場景。SparkSQL Flow 更側(cè)重大數(shù)據(jù)工具,偏向數(shù)據(jù)分析和非實時 ETL。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-10.29立即報名>> 2024德州儀器嵌入式技術(shù)創(chuàng)新發(fā)展研討會
-
10月31日立即下載>> 【限時免費下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月14日立即報名>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
推薦專題
- 1 Intel宣布40年來最重大轉(zhuǎn)型:年底前裁員15000人、拋掉2/3房產(chǎn)
- 2 因美封殺TikTok,字節(jié)股價骨折!估值僅Meta1/5
- 3 宏山激光重磅發(fā)布行業(yè)解決方案,助力智能制造產(chǎn)業(yè)新飛躍
- 4 國產(chǎn)AI芯片公司破產(chǎn)!白菜價拍賣
- 5 具身智能火了,但規(guī)模落地還需時間
- 6 三次錯失風(fēng)口!OpenAI前員工殺回AI編程賽道,老東家捧金相助
- 7 國產(chǎn)英偉達們,抓緊沖刺A股
- 8 英偉達的麻煩在后頭?
- 9 將“網(wǎng)紅”變成“商品”,AI“爆改”實力拉滿
- 10 智慧貨架管理引領(lǐng)零售新風(fēng)尚
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市