翻譯|行業(yè)資訊|編輯:況魚(yú)杰|2020-07-08 15:43:59.310|閱讀 269 次
概述:由Apache Flink提供支持的Cloudera Streaming Analytics的1.2.0.0版本提供了廣泛的新功能,包括通過(guò)Apache Atlas支持沿襲和元數(shù)據(jù)跟蹤,支持連接到Apache Kudu以及期待已久的FlinkSQL API的第一次迭代。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
由Apache Flink提供支持的Cloudera Streaming Analytics的1.2.0.0版本提供了廣泛的新功能,包括通過(guò)Apache Atlas支持沿襲和元數(shù)據(jù)跟蹤,支持連接到Apache Kudu以及期待已久的FlinkSQL API的第一次迭代。
Flink的SQL接口使流處理民主化,因?yàn)樗梢杂媳犬?dāng)前廣泛使用的Java和Scala API(面向數(shù)據(jù)工程人群)更大的社區(qū)。將SQL推廣到流處理和流分析用例提出了一系列挑戰(zhàn):必須解決表達(dá)無(wú)限流和記錄的及時(shí)性的問(wèn)題。可以考慮以下查詢:
該查詢產(chǎn)生每個(gè)用戶會(huì)話的點(diǎn)擊計(jì)數(shù),該計(jì)數(shù)由會(huì)話之間30分鐘的不活動(dòng)狀態(tài)定義,并在遇到新會(huì)話時(shí)實(shí)時(shí)更新。這是在流處理中已經(jīng)很好建立的概念的示例,在這種情況下,會(huì)話窗口被引入到SQL語(yǔ)法中以表示記錄的及時(shí)性。 重要的是要強(qiáng)調(diào)Flink支持的語(yǔ)法是ANSI SQL,它不是特定的方言。實(shí)際上,F(xiàn)link社區(qū)正在與Apache Beam和Apache Calcite社區(qū)合作,以統(tǒng)一的方式應(yīng)對(duì)FlinkSQL的挑戰(zhàn)。
轉(zhuǎn)變流媒體組織
從上述查詢來(lái)看,很明顯,更大的用戶群可以有效地制定查詢,從而為企業(yè)增加價(jià)值。但是,它給組織帶來(lái)了以下問(wèn)題:
今天編寫(xiě)的大多數(shù)流查詢都可以通過(guò)FlinkSQL表示,以提供有根據(jù)的猜測(cè),希望它能達(dá)到今天遇到的流查詢的80%左右,這很適合通過(guò)此SQL API實(shí)施。可能你會(huì)覺(jué)得夸大其詞,后面我們會(huì)向你一一介紹實(shí)現(xiàn)的過(guò)程。
當(dāng)前,Cloudera經(jīng)常遇到使用Flink的組織,其中近實(shí)時(shí)地獲得業(yè)務(wù)價(jià)值是數(shù)據(jù)工程師的特權(quán)。數(shù)據(jù)分析人員通常是特定領(lǐng)域知識(shí)的專(zhuān)家,他們傾向于使用標(biāo)準(zhǔn)MPP或OLAP系統(tǒng)中存儲(chǔ)的這些流的快照,例如通過(guò)Apache Impala查詢存儲(chǔ)在Kudu中的數(shù)據(jù)。這從本質(zhì)上在尋找見(jiàn)解與以流化方式對(duì)其進(jìn)行生產(chǎn)化之間引入了差距。分析師在證明其假設(shè)之后,必須與幾個(gè)數(shù)據(jù)工程師確保數(shù)周甚至數(shù)月的項(xiàng)目資金投入,以細(xì)致地重新實(shí)現(xiàn)已經(jīng)用另一種語(yǔ)言(通常是SQL)制定的業(yè)務(wù)邏輯。 FlinkSQL使分析人員可以直接與流進(jìn)行交互,并單擊按鈕即可部署流作業(yè)。
反過(guò)來(lái),這使數(shù)據(jù)工程師可以將精力集中在具有挑戰(zhàn)性的20%的查詢上,并建立可重用的特定于域的庫(kù),這些庫(kù)可以直接從SQL中用作一組用戶定義的函數(shù)來(lái)利用。
FlinkSQL功能
為了展示FlinkSQL的功能,最近Cloudera在標(biāo)準(zhǔn)教程套件下發(fā)布了一個(gè)SQL教程。這里重點(diǎn)介紹一些功能。
這個(gè)教程主要針對(duì)Apache Kafka主題進(jìn)行操作,其中包含JSON格式的項(xiàng)目交易。首先,可以為此定義一個(gè)表模式,并指定我們要測(cè)量timestamp列記錄的時(shí)間流逝(稱(chēng)為事件時(shí)間語(yǔ)義)。
請(qǐng)注意,在使用事件時(shí)間語(yǔ)義時(shí),必須指定水印以為Flink提供啟發(fā)式方法以測(cè)量事件時(shí)間的經(jīng)過(guò)。這可以是返回時(shí)間戳的任意表達(dá)式。在較高級(jí)別上,水印指定了正確性(無(wú)限期等待潛在的延遲到達(dá))和延遲(盡可能快地產(chǎn)生結(jié)果)之間的折衷。
創(chuàng)建上表后,可以提交以下查詢:
第一個(gè)查詢提供了直接的采樣。使用limit子句是可選的,省略會(huì)導(dǎo)致結(jié)果以流方式不斷更新。第二個(gè)查詢實(shí)現(xiàn)一個(gè)簡(jiǎn)單的窗口聚合。這些查詢的結(jié)果可以返回到交互式Flink SQL cli,或者可以通過(guò)INSERT INTO語(yǔ)句直接寫(xiě)入輸出表。
FlinkSQL還提供了更復(fù)雜的子句,例如,可以按如下公式查找在每10分鐘的窗口中查找交易次數(shù)最多的前3個(gè)項(xiàng)目:
除了這些內(nèi)置語(yǔ)言元素之外,您還可以將Java和Scala中實(shí)現(xiàn)的功能注冊(cè)到FlinkSQL環(huán)境中。FlinkSQL還支持訪問(wèn)外部目錄以訪問(wèn)存儲(chǔ)在外部系統(tǒng)中的架構(gòu)和數(shù)據(jù),當(dāng)前,Cloudera支持Hive,Kudu和Schema注冊(cè)表目錄。
下一步
在當(dāng)前版本中,提交SQL查詢的兩個(gè)選項(xiàng)是使用SQL CLI或?qū)⑺鼈儼b到Java程序中。正如Cloudera在Flink Forward San Francisco上最近的主題演講中所討論的,他們正在積極地致力于圖形用戶界面,以幫助進(jìn)行交互式查詢編輯。
在添加GUI之后,Cloudera將在短期內(nèi)公開(kāi)其針對(duì)第三方工具的編程后端,以公開(kāi)與FlinkSQL等效的JDBC接口,該接口很有可能基于REST和Kafka構(gòu)建。
關(guān)于Cloudera
在 Cloudera,我們相信數(shù)據(jù)可以使今天的不可能,在明天成為可能。我們使人們能夠?qū)?fù)雜的數(shù)據(jù)轉(zhuǎn)換為清晰而可行的洞察力。Cloudera 為任何地方的任何數(shù)據(jù)從邊緣到人工智能提供企業(yè)數(shù)據(jù)云平臺(tái)服務(wù)。在開(kāi)源社區(qū)不懈創(chuàng)新的支持下,Cloudera推動(dòng)了全球最大型企業(yè)的數(shù)字化轉(zhuǎn)型歷程。
慧都大數(shù)據(jù)專(zhuān)業(yè)團(tuán)隊(duì)為企業(yè)提供Cloudera大數(shù)據(jù)平臺(tái)搭建,免費(fèi)業(yè)務(wù)咨詢,定制開(kāi)發(fā)等完整服務(wù),快速、輕松、低成本將任何Hadoop集群從試用階段轉(zhuǎn)移到生產(chǎn)階段。
歡迎撥打慧都熱線023-68661681或咨詢慧都在線客服,我們有專(zhuān)業(yè)的大數(shù)據(jù)團(tuán)隊(duì),為您提供免費(fèi)大數(shù)據(jù)相關(guān)業(yè)務(wù)咨詢!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:cloudera