Presto如何帶來最好的大資料分析師
如果您的職位類似於Data Analyst,VP Analytics,分析主管等,您就知道您的角色在公司中的重要性。
你開始工作時,會面臨無數的報告。管理層會議正在召開,客戶的資料由您的組織管理,他們希望獲得有關其基於雲的音樂流應用的採用報告。為此,您需要使用包含數十億行的表,並對關係資料庫和Hive資料庫進行排序。
這只是一個例子。您可能在公司面臨更繁瑣的工作。
作為資料分析師,您希望提供足夠的相關資料,以便組織中的員工可以在各自的角色中做出明智且資料驅動的決策。
但要獲得最佳結果,您必須能夠輕鬆快速地訪問資料。你越快,你就越容易完成工作。他們越喜歡與您合作,您的僱主就越難以取代您。
您需要一個快速查詢引擎,使您能夠將組織使用的所有資料來源中的資料收集到一個結果中,以便您可以快速做出資料驅動的決策。
這就是ofollow,noindex" target="_blank">Presto的 用武之地。您可能已經瞭解歷史。但如果沒有,這裡有一個快速的解釋。
關於Presto的快速背景
Presto是由Facebook在2013年開發的一種開源軟體,用於高速查詢不同來源的資料庫,無論其資料的數量,速度和數量如何。
構建這個大資料查詢引擎的專案始於2008年,當時Facebook意識到他們需要一個可以查詢資料庫的引擎,而不管它們位於何處(Hadoop,Cassandra等)。快進到今天,Presto現在被Uber,Twitter,AirBnB,亞馬遜和其他幾家企業的大公司所使用,主要是因為它的速度和能力。
“Presto讓我們的使用者的生活更輕鬆。它極大地提高了他們的生產力“ -Netflix
“我們選擇Presto作為我們系統的SQL引擎,因為它具有可擴充套件性,高效能以及與Hadoop的平滑整合。這些屬性使其非常適合我們的許多團隊“ -優步
Teradata 為Presto提供了首個商業支援,之後,Netflix等其他公司也加入了開源查詢引擎。目前,Presto由Apache授權,並提供ANSI SQL合規性和基於規則的優化器。
但是,如果你要從Presto中獲得最大的收益,那麼你很清楚Presto究竟是什麼,不是什麼?
Presto是什麼和不是什麼
- 首先,Presto 不是關係資料庫管理系統。它理解或使用SQL並不意味著它可以替代傳統的RDBMS,如MySQL,PostgreSQL等。
- Presto 是一種工具,旨在使用分散式查詢有效地查詢不同來源的大量資料。
- 如果您在組織中使用數PB的資料,很可能您一直在使用與Hadoop和HDFS互動的工具。Presto 是這些工具的完美替代品。
- Presto 另一個主要力量時聚合不同型別的資料來源,包括傳統的RDBMS和其他資料來源,如Cassanda上操作的能力。
- Presto還設計用於處理資料倉庫和分析:資料分析,聚合大量資料和生成報告工作負載 - 通常歸類為線上分析處理(OLAP)
輕鬆訪問儲存在任何地方的資料
Presto允許查詢它所在的資料 - 無論是在Hive,Cassandra,關係資料庫還是專有資料儲存上。單個Presto查詢可以組合來自多個來源的資料,從而允許整個組織進行分析。
無論您的資料儲存在何處(雲或本地儲存),只要使用了適用於這些資料來源的聯結器,Presto就可以輕鬆訪問這些位置的資料。
Netflix 的大資料團隊在Amazon S3上的資料倉庫中使用Presto(亞馬遜提供的雲端儲存解決方案,可以從任何地方儲存和檢索任何數量的資料):
傳統SQL語法的優點
Presto使用ANSI SQL語法和語義來構建其查詢。
這樣做的好處是,擁有豐富關係資料庫經驗的分析師會發現編寫Presto查詢非常容易和直接,減少了在學習全新語法風格時分析資料時出現的停機時間和滯後。
然後是Optimized Row Columnar檔案格式的優勢。
優化行列(ORC)
Presto還支援ORC檔案格式,它提供了一種儲存Hive資料的高效方法。Presto的ORC閱讀器能夠跳過不需要的資料,延遲讀取和向量化讀取。
安裝Presto
安裝Presto有一些要求:
- Linux OS或Mac OS X.
- Java 8,64位
- Python 2.4+
- Presto伺服器tarball,presto-server-0.184.tar.gz
Prestodb.io上用於部署的文件非常易於理解,並且按照文件中列出的步驟,您將在大約10分鐘內啟動並執行presto伺服器。您可以在此處 找到詳細的文件。
根據您要連線的資料來源,Presto還提供各種聯結器,以確保Presto伺服器與資料來源之間的無縫通訊。可用的Presto聯結器包括:
- 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允許您一次對多個數據源執行查詢,並使用SQL語句返回單個結果表。
它能夠與位於任何地方的各種資料來源整合,這意味著您可以與Cassandra,PostgreSQL,Accumulo,Hive和MongoDB連線,並使用Presto的SQL語法將這些源中的資料提取到單個結果檢視中。