2013-06-26 8 views
5

के साथ रेडशिफ्ट क्या कोई भी एसक्यूएल सर्वर डेटा टूल्स 2012 में स्रोत या गंतव्य ओडीबीसी घटक के रूप में अमेज़ॅन रेडशिफ्ट का उपयोग कर सफल रहा है?एसएसआईएस/एसएसडीटी

मैंने अमेज़ॅन द्वारा प्रदान किए गए पोस्टग्रेएसक्यूएल ड्राइवरों को स्थापित किया है और विंडोज ओडीबीसी ड्राइवर प्रशासक में एक कनेक्शन का सफलतापूर्वक परीक्षण किया है, लेकिन जब मैं अपना सहेजा गया डीएसएन चुनता हूं और तालिका सूची खींचने की कोशिश करता हूं तो आर्केन त्रुटि संदेशों में चलते रहें।

उत्तर

3

रेडशिफ्ट पोस्टग्रेस (8.0) के पुराने संस्करण पर आधारित है। तब से पोस्टग्रेस काफी बदल गए हैं और पोस्टग्रेस टूल्स इसके साथ बदल गए हैं। Redshift के साथ उपयोग करने के लिए किसी भी उपकरण को डाउनलोड करते समय आपको कई वर्षों पहले पिछले संस्करणों का उपयोग करने की आवश्यकता होगी।

तालिका सूची समस्या विशेष रूप से परेशान है, लेकिन मुझे अभी तक psql का संस्करण नहीं मिला है जो ठीक से Redshift तालिकाओं को सूचीबद्ध कर सकता है। एक विकल्प के रूप में आप इस तरह की जानकारी खोजने के लिए INFORMATION_SCHEMA टेबल का उपयोग कर सकते हैं, और मेरी राय में यह है कि एसएसआईएस/एसएसडीटी डिफ़ॉल्ट रूप से क्या करना चाहिए।

मैं उम्मीद नहीं करता कि एसएसआईएस विश्वसनीय रूप से रेडशिफ्ट में डेटा लोड करने में सक्षम हो, यानी एक रेडशिफ्ट गंतव्य बनाएं। ऐसा इसलिए है क्योंकि डेटा लोड करने के तरीके के रूप में Redshift वास्तव में समर्थन INSERT INTO का समर्थन नहीं करता है। यदि आप INSERT INTO का उपयोग करते हैं तो आप केवल प्रति सेकंड ~ 10 पंक्तियां लोड करने में सक्षम होंगे। Redshift COPY कमांड का उपयोग कर केवल S3 या DynamoDB से डेटा लोड कर सकता है।

यह मैंने कोशिश की सभी अन्य ईटीएल उपकरणों के लिए एक समान कहानी है, विशेष रूप से ओपन सोर्स टूल्स पेंटाहो पीडीआई (उर्फ केटल) और टैलेंड ओपन स्टूडियो। यह Talend के मामले में विशेष रूप से परेशान है क्योंकि उनके पास Redshift घटक हैं लेकिन वे वास्तव में लोड करने के लिए INSERT INTO का उपयोग करने का प्रयास करते हैं। यहां तक ​​कि अमेज़ॅन के अपने ईटीएल उपकरण डेटा पाइपलाइन को अभी भी रेडशिफ्ट के लिए 'नोड' के रूप में समर्थन नहीं है।

0

मैं सफल रहा हूं। PostgreSQL ODBC ड्राइवरों के 32-बिट और 64-बिट संस्करणों को स्थापित करने का प्रयास करें।

इसके अलावा, 'प्रोजेक्ट प्रॉपर्टीज'> 'डिबगिंग' के तहत आपकी प्रोजेक्ट प्रॉपर्टीज में, 'रन 64 बिट रनटाइम' को गलत पर सेट करें।

आप कनेक्शन प्रबंधक में कनेक्शन स्ट्रिंग निर्दिष्ट करने का भी प्रयास कर सकते हैं। उदाहरण के लिए: चालक = {PostgreSQL ANSI}; सर्वर = redshiftdb.d113klxjd4ac.us-west-2.redshift.amazonaws.com; uid =; डेटाबेस =; पोर्ट = 5432