正如我之前提到的,Presto允許您一次對(duì)多個(gè)數(shù)據(jù)源運(yùn)行查詢,并使用SQL語(yǔ)句返回單個(gè)結(jié)果表。
構(gòu)建這個(gè)大數(shù)據(jù)查詢引擎的項(xiàng)目始于2008年,當(dāng)時(shí)Facebook意識(shí)到他們需要一個(gè)可以查詢數(shù)據(jù)庫(kù)的引擎,而不管它們位于何處(Hadoop,Cassandra等)。快進(jìn)到今天,Presto現(xiàn)在被Uber,Twitter,AirBnB,亞馬遜和其他幾家企業(yè)的大公司所使用,主要是因?yàn)樗乃俣群湍芰Α?/p>
Presto允許查詢它所在的數(shù)據(jù) - 無(wú)論是在Hive,Cassandra,關(guān)系數(shù)據(jù)庫(kù)還是專有數(shù)據(jù)存儲(chǔ)上。單個(gè)Presto查詢可以組合來(lái)自多個(gè)來(lái)源的數(shù)據(jù),從而允許整個(gè)組織進(jìn)行分析。
無(wú)論您的數(shù)據(jù)存儲(chǔ)在何處(云或本地存儲(chǔ)),只要使用了適用于這些數(shù)據(jù)源的連接器,Presto就可以輕松訪問(wèn)這些位置的數(shù)據(jù)。
Netflix 的大數(shù)據(jù)團(tuán)隊(duì)在Amazon S3上的數(shù)據(jù)倉(cāng)庫(kù)中使用Presto(亞馬遜提供的云存儲(chǔ)解決方案,可以從任何地方存儲(chǔ)和檢索任何數(shù)量的數(shù)據(jù)):
Presto使用ANSI SQL語(yǔ)法和語(yǔ)義來(lái)構(gòu)建其查詢。
你開(kāi)始工作時(shí),免備案主機(jī),會(huì)面臨無(wú)數(shù)的報(bào)告。管理層會(huì)議正在召開(kāi),客戶的數(shù)據(jù)由您的組織管理,他們希望獲得有關(guān)其基于云的音樂(lè)流應(yīng)用的采用報(bào)告。為此,您需要使用包含數(shù)十億行的表,并對(duì)關(guān)系數(shù)據(jù)庫(kù)和Hive數(shù)據(jù)庫(kù)進(jìn)行排序。
Teradata 為Presto提供了首個(gè)商業(yè)支持,之后,Netflix等其他公司也加入了開(kāi)源查詢引擎。目前,Presto由Apache授權(quán),并提供ANSI SQL合規(guī)性和基于規(guī)則的優(yōu)化器。
傳統(tǒng)SQL語(yǔ)法的優(yōu)點(diǎn)
Presto是由Facebook在2013年開(kāi)發(fā)的一種開(kāi)源軟件,用于高速查詢不同來(lái)源的數(shù)據(jù)庫(kù),無(wú)論其數(shù)據(jù)的數(shù)量,速度和數(shù)量如何。
您需要一個(gè)快速查詢引擎,VPS租用 國(guó)內(nèi)服務(wù)器,使您能夠?qū)⒔M織使用的所有數(shù)據(jù)源中的數(shù)據(jù)收集到一個(gè)結(jié)果中,以便您可以快速做出數(shù)據(jù)驅(qū)動(dòng)的決策。
這只是一個(gè)例子。您可能在公司面臨更繁瑣的工作。
這就是 Presto的 用武之地。您可能已經(jīng)了解歷史。但如果沒(méi)有,這里有一個(gè)快速的解釋。
輕松訪問(wèn)存儲(chǔ)在任何地方的數(shù)據(jù)
首先,Presto 不是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它理解或使用SQL并不意味著它可以替代傳統(tǒng)的RDBMS,如MySQL,PostgreSQL等。 Presto 是一種工具,旨在使用分布式查詢有效地查詢不同來(lái)源的大量數(shù)據(jù)。 如果您在組織中使用數(shù)PB的數(shù)據(jù),很可能您一直在使用與Hadoop和HDFS交互的工具。Presto 是這些工具的完美替代品。 Presto 另一個(gè)主要力量時(shí)聚合不同類型的數(shù)據(jù)源,包括傳統(tǒng)的RDBMS和其他數(shù)據(jù)源,如Cassanda上操作的能力。 Presto還設(shè)計(jì)用于處理數(shù)據(jù)倉(cāng)庫(kù)和分析:數(shù)據(jù)分析,聚合大量數(shù)據(jù)和生成報(bào)告工作負(fù)載 - 通常歸類為在線分析處理(OLAP)
“Presto讓我們的用戶的生活更輕松。它極大地提高了他們的生產(chǎn)力“ - Netflix
Linux OS或Mac OS X. Java 8,64位 Python 2.4+ Presto服務(wù)器tarball, presto-server-0.184.tar.gz
但要獲得最佳結(jié)果,您必須能夠輕松快速地訪問(wèn)數(shù)據(jù)。你越快,你就越容易完成工作。他們?cè)较矚g與您合作,您的雇主就越難以取代您。
安裝Presto有一些要求:
優(yōu)化行列(ORC)
安裝Presto
然后是Optimized Row Columnar文件格式的優(yōu)勢(shì)。
關(guān)于Presto的快速背景
Presto是什么和不是什么
“我們選擇Presto作為我們系統(tǒng)的SQL引擎,因?yàn)樗哂锌蓴U(kuò)展性,高性能以及與Hadoop的平滑集成。這些屬性使其非常適合我們的許多團(tuán)隊(duì)“ - 優(yōu)步
在多個(gè)源上運(yùn)行Presto查詢
這樣做的好處是,擁有豐富關(guān)系數(shù)據(jù)庫(kù)經(jīng)驗(yàn)的分析師會(huì)發(fā)現(xiàn)編寫(xiě)Presto查詢非常容易和直接,減少了在學(xué)習(xí)全新語(yǔ)法風(fēng)格時(shí)分析數(shù)據(jù)時(shí)出現(xiàn)的停機(jī)時(shí)間和滯后。
Accumulo Connector Black Hole Connector Cassandra Connector Hive Connector JMX Connector Kafka Connector with a Kafka Connector Tutorial Local File Connector Memory Connector MongoDB Connector MySQL Connector PostgreSQL Connector Redis Connector SQL Server Connector System Connector Thrift Connector TPCDS Connector TPCH Connector
但是,如果你要從Presto中獲得最大的收益,那么你很清楚Presto究竟是什么,不是什么?
作為數(shù)據(jù)分析師,您希望提供足夠的相關(guān)數(shù)據(jù),以便組織中的員工可以在各自的角色中做出明智且數(shù)據(jù)驅(qū)動(dòng)的決策。