2016-05-09 12 views
5

पर प्रेस्टो मैं अमेज़ॅन एस 3 बाल्टी पर प्रेस्टो का उपयोग करने की कोशिश कर रहा हूं, लेकिन इंटरनेट पर ज्यादा संबंधित जानकारी नहीं मिली है।अमेज़ॅन एस 3

मैंने माइक्रो इंस्टॉलेशन पर प्रेस्टो स्थापित किया है लेकिन मैं यह समझने में सक्षम नहीं हूं कि मैं एस 3 से कैसे कनेक्ट कर सकता हूं। एक बाल्टी है और इसमें फाइलें हैं। मेरे पास एक रनिंग हाइव मेटास्टोर सर्वर है और मैंने इसे presto hive.properties में कॉन्फ़िगर किया है। लेकिन जब मैं हाइव में LOCATION कमांड चलाने की कोशिश करता हूं, तो यह काम नहीं कर रहा है।

आईटी एक त्रुटि फेंकता है कि फ़ाइल योजना प्रकार s3 नहीं मिल रहा है।

और मुझे नहीं पता कि हमें हडूप चलाने की आवश्यकता क्यों है, लेकिन बिना छेड़छाड़ किए बिना छिद्र नहीं चलता है। क्या इसमें कोई स्पष्टीकरण है।

This और this ऐसे दस्तावेज़ हैं जिन्हें मैंने सेट अप करते समय किया है।

उत्तर

2

प्रेस्टो अपनी अंतर्निहित फ़ाइलों में डेटाबेस टेबल मैप करने के लिए हाइव मेटास्टोर का उपयोग करता है। इन फ़ाइलों को S3 पर मौजूद कर सकते हैं, और प्रारूपों के एक नंबर में संग्रहित किया जा सकता है - सीएसवी, Orc, लकड़ी, Seq आदि

हाइव metastore आमतौर पर साथ CREATE EXTERNAL TABLE ... तरह DDL बयान जारी करके HQL (हाइव क्वेरी लैंग्वेज) के माध्यम से से भर जाता है डेटा रखने वाले अंतर्निहित फ़ाइलों का संदर्भ देने वाला LOCATION ... खंड।

आदेश Presto एक हाइव से कनेक्ट करने के metastore आप hive.properties फ़ाइल को संपादित करने की आवश्यकता होगी मिल (ईएमआर /etc/presto/conf.dist/catalog/ में यह कहते हैं) और एक उचित हाइव metastore सेवा की बचत करने के लिए सेवा hive.metastore.uri पैरामीटर सेट करने के लिए।

यदि आप हाइव और प्रेस्टो का चयन करते हैं तो अमेज़ॅन ईएमआर क्लस्टर इंस्टेंस स्वचालित रूप से आपके लिए कॉन्फ़िगर करेंगे, इसलिए यह शुरू करने के लिए एक अच्छी जगह है।

यदि आप इसे एक स्टैंडअलोन ec2 उदाहरण पर जांचना चाहते हैं तो मैं सुझाव दूंगा कि आप पहले हडोप बुनियादी ढांचे के साथ काम कर रहे एक कार्यात्मक हाइव सेवा प्राप्त करने पर ध्यान केंद्रित करें। आप उन तालिकाओं को परिभाषित करने में सक्षम होना चाहिए जो स्थानीय रूप से hdfs फ़ाइल सिस्टम पर रहते हैं। प्रेस्टो हाइव को पूरा करता है, लेकिन एक फ़ंक्शनिंग हाइव सेट-अप की आवश्यकता होती है, तो पस्टो के मूल डीडीएल कथन हाइव के रूप में पूर्ण सुविधा के रूप में नहीं होते हैं, इसलिए आप सीधे तालिका से अधिकांश टेबल निर्माण करेंगे।

वैकल्पिक रूप से, आप एक MySQL या postgresql डेटाबेस के लिए प्रेस्टो कनेक्टर को परिभाषित कर सकते हैं, लेकिन यह सिर्फ एक जेडीबीसी पास है, मुझे नहीं लगता कि आपको बहुत कुछ मिलेगा।

+0

आपके उत्तर के लिए धन्यवाद। मैं पूरी तरह से जुड़े लागत के साथ presto कोशिश करना चाहता हूँ। कृपया संपादन की जांच करें, आपके द्वारा अभी उल्लिखित प्रासंगिक सामग्री के माध्यम से जाने के बाद मुझे और संदेह था। – Codex

+0

अमेज़ॅन ईएमआर के साथ मुझे लागत लगती है इसलिए मैं इससे बचने की कोशिश कर रहा हूं। इसके लिए कोई रास्ता है। – Codex

+1

मैंने पिछले वर्ष [पोस्ट] (http://blog.danielcorin.com/code/2016/04/11/querying-s3-with-presto.html) विषय पर लिखा था। मैंने सेटअप की कोशिश नहीं की है लेकिन वहां एक मौका है जिससे यह मदद कर सके। सामान्य विचार है कि डॉकर कंटेनर को हाइव मेटास्टोर के रूप में उपयोग करना है ताकि आपको अपने प्रेस्टो प्रश्नों को रूट करने के प्रयोजनों के लिए ईएमआर जैसी प्रबंधित सेवा की आवश्यकता न हो। –