Presto使用Hive Metastore將數據庫表映射到其基礎文件。這些文件可以存在於S3,並且可以被存儲在一個數的格式 - CSV,ORC,鑲木,SEQ等
蜂房metastore通常通過發出DDL語句等CREATE EXTERNAL TABLE ...
通過HQL(蜂房查詢語言)填充引用保存數據的底層文件的LOCATION ...
子句。
爲了獲得普雷斯托連接到蜂巢metastore你將需要編輯hive.properties文件(EMR使這/etc/presto/conf.dist/catalog/
)和hive.metastore.uri
參數設定爲合適的蜂巢metastore服務的節儉服務。
如果您選擇Hive和Presto,Amazon EMR羣集實例將自動爲您配置,因此這是一個很好的開始。
如果你想在一個獨立的ec2實例上測試這個,那麼我建議你首先關注獲得一個Hadoop基礎架構的功能性的hive服務。您應該能夠定義本地駐留在hdfs文件系統上的表。 Presto補充了配置單元,但確實需要一個正常工作的配置單元,而presto的native ddl語句不像配置單元那樣功能完整,所以您將直接從配置單元創建大多數表格。
或者,你可以爲一個mysql或postgresql數據庫定義Presto連接器,但它只是一個jdbc傳遞,我認爲你不會獲得太多收益。
感謝您的回覆。我想嘗試與絕對沒有相關的成本。請檢查編輯內容,在閱讀剛剛提到的相關材料後,我有更多疑問。 – Codex
與亞馬遜EMR我會產生成本,所以我試圖避免這一點。有沒有辦法解決這個問題。 – Codex
去年,我寫了下列[post](http://blog.danielcorin.com/code/2016/04/11/querying-s3-with-presto.html)。我還沒有嘗試安裝,但有一個機會可以幫助。總的想法是使用Docker容器作爲Hive Metastore,因此您不需要像EMR那樣的託管服務,僅用於路由Presto查詢。 –