正如我之前提到的,Presto允許您一次對多個數(shù)據(jù)源運行查詢,并使用SQL語句返回單個結(jié)果表。
構(gòu)建這個大數(shù)據(jù)查詢引擎的項目始于2008年,當(dāng)時Facebook意識到他們需要一個可以查詢數(shù)據(jù)庫的引擎,而不管它們位于何處(Hadoop,Cassandra等)。快進(jìn)到今天,Presto現(xiàn)在被Uber,Twitter,AirBnB,亞馬遜和其他幾家企業(yè)的大公司所使用,主要是因為它的速度和能力。
Presto允許查詢它所在的數(shù)據(jù) - 無論是在Hive,Cassandra,關(guān)系數(shù)據(jù)庫還是專有數(shù)據(jù)存儲上。單個Presto查詢可以組合來自多個來源的數(shù)據(jù),從而允許整個組織進(jìn)行分析。
無論您的數(shù)據(jù)存儲在何處(云或本地存儲),只要使用了適用于這些數(shù)據(jù)源的連接器,Presto就可以輕松訪問這些位置的數(shù)據(jù)。
Netflix 的大數(shù)據(jù)團隊在Amazon S3上的數(shù)據(jù)倉庫中使用Presto(亞馬遜提供的云存儲解決方案,可以從任何地方存儲和檢索任何數(shù)量的數(shù)據(jù)):
Presto使用ANSI SQL語法和語義來構(gòu)建其查詢。
你開始工作時,免備案主機,會面臨無數(shù)的報告。管理層會議正在召開,客戶的數(shù)據(jù)由您的組織管理,他們希望獲得有關(guān)其基于云的音樂流應(yīng)用的采用報告。為此,您需要使用包含數(shù)十億行的表,并對關(guān)系數(shù)據(jù)庫和Hive數(shù)據(jù)庫進(jìn)行排序。
Teradata 為Presto提供了首個商業(yè)支持,之后,Netflix等其他公司也加入了開源查詢引擎。目前,Presto由Apache授權(quán),并提供ANSI SQL合規(guī)性和基于規(guī)則的優(yōu)化器。
傳統(tǒng)SQL語法的優(yōu)點
Presto是由Facebook在2013年開發(fā)的一種開源軟件,用于高速查詢不同來源的數(shù)據(jù)庫,無論其數(shù)據(jù)的數(shù)量,速度和數(shù)量如何。
您需要一個快速查詢引擎,VPS租用 國內(nèi)服務(wù)器,使您能夠?qū)⒔M織使用的所有數(shù)據(jù)源中的數(shù)據(jù)收集到一個結(jié)果中,以便您可以快速做出數(shù)據(jù)驅(qū)動的決策。
這只是一個例子。您可能在公司面臨更繁瑣的工作。
這就是 Presto的 用武之地。您可能已經(jīng)了解歷史。但如果沒有,這里有一個快速的解釋。
輕松訪問存儲在任何地方的數(shù)據(jù)
首先,Presto 不是關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它理解或使用SQL并不意味著它可以替代傳統(tǒng)的RDBMS,如MySQL,PostgreSQL等。 Presto 是一種工具,旨在使用分布式查詢有效地查詢不同來源的大量數(shù)據(jù)。 如果您在組織中使用數(shù)PB的數(shù)據(jù),很可能您一直在使用與Hadoop和HDFS交互的工具。Presto 是這些工具的完美替代品。 Presto 另一個主要力量時聚合不同類型的數(shù)據(jù)源,包括傳統(tǒng)的RDBMS和其他數(shù)據(jù)源,如Cassanda上操作的能力。 Presto還設(shè)計用于處理數(shù)據(jù)倉庫和分析:數(shù)據(jù)分析,聚合大量數(shù)據(jù)和生成報告工作負(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é)果,您必須能夠輕松快速地訪問數(shù)據(jù)。你越快,你就越容易完成工作。他們越喜歡與您合作,您的雇主就越難以取代您。
安裝Presto有一些要求:
優(yōu)化行列(ORC)
安裝Presto
然后是Optimized Row Columnar文件格式的優(yōu)勢。
關(guān)于Presto的快速背景
Presto是什么和不是什么
“我們選擇Presto作為我們系統(tǒng)的SQL引擎,因為它具有可擴展性,高性能以及與Hadoop的平滑集成。這些屬性使其非常適合我們的許多團隊“ - 優(yōu)步
在多個源上運行Presto查詢
這樣做的好處是,擁有豐富關(guān)系數(shù)據(jù)庫經(jīng)驗的分析師會發(fā)現(xiàn)編寫Presto查詢非常容易和直接,減少了在學(xué)習(xí)全新語法風(fēng)格時分析數(shù)據(jù)時出現(xiàn)的停機時間和滯后。
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ū)動的決策。