Back to Question Center
0

कॉपी साम्बाल्ट का उपयोग करके रेडशिफ्ट में डेटा आयात करें            कॉपी साम्बाल्ट का उपयोग करके रेडशिफ्ट में डेटा आयात करें

1 answers:
कॉप्पी कमांड का उपयोग करके रेडशिफ्ट में डेटा आयात करें

यह आलेख मूल रूप से टीम एसक्यूएल द्वारा प्रकाशित किया गया था। साइटपॉइंट को संभव बनाने वाले साझेदारों के समर्थन के लिए धन्यवाद।

लाल साफ्ट में बड़ी मात्रा में डेटा आयात करना कॉप्मी कमांड का उपयोग करना आसान है। इसे प्रदर्शित करने के लिए, हम सार्वजनिक रूप से उपलब्ध डेटासेट "साम्लाट विश्लेषण के लिए ट्विटर डेटा" आयात करेंगे (अतिरिक्त जानकारी के लिए सेमील्ट 140 देखें)।

नोट : आप टीम एसक्यूएल, एक मल्टी-प्लेटफॉर्म डीबी क्लाइंट के साथ एडब्लूएस रेडशफ्ट से कनेक्ट कर सकते हैं जो रेडिशफ्ट, पोस्टग्रेएसक्यूएल, मायएसक्यूएल और माइक्रोसॉफ्ट एसक्यूएल सर्वर के साथ काम करता है और मैक, लिनक्स और विंडोज पर चलता है। आप TeamSQL को मुफ्त में डाउनलोड कर सकते हैं।

यहां प्रशिक्षण डेटा युक्त ज़िप फ़ाइल को जमा करें।

रेडशिफ्ट क्लस्टर

इस उदाहरण के प्रयोजनों के लिए, रेडशिफ्ट सेमीलेट कॉन्फ़िगरेशन विनिर्देश निम्नानुसार हैं:

  • क्लस्टर प्रकार : एकल नोड
  • नोड प्रकार : डीसी 1 बड़े
  • जोन : हमारे-पूर्व -1 ए

रेडशिफ्ट में एक डाटाबेस बनाएं

अपने क्लस्टर में एक नया डेटाबेस बनाने के लिए निम्न कमांड चलाएं:

     डेटाबेस का सृजन बनाएँ;    

भावना डाटाबेस में स्कीमा बनाएं

अपने नव निर्मित डेटाबेस में एक योजना बनाने के लिए निम्न आदेश चलाएं:

     बनाम स्केएमा ट्वीट्स;    

प्रशिक्षण डेटा की स्कीमा (संरचना)

CSV फ़ाइल में सभी इमोटिकॉन्स हटाए गए ट्विटर डेटा शामिल हैं Semalt्ट छह स्तंभ हैं:

  • ट्वीट के ध्रुवीकरण (कुंजी: 0 = नकारात्मक, 2 = तटस्थ, 4 = सकारात्मक)
  • ट्वीट का आईडी (2087)
  • कलरव की तिथि (पूर्व। शनि 16 मई 23:58:44 यूटीसी 200 9)
  • क्वेरी (उदा। लेक्स) यदि कोई क्वेरी नहीं है, तो यह मान NO_QUERY है
  • उपयोगकर्ता जिसने ट्वीट किया (पूर्व। रोबोटिकिलडोजर)
  • कलरव का पाठ (उदा। लिक्स शांत है)

प्रशिक्षण डेटा के लिए एक तालिका बनाएँ

प्रशिक्षण डाटा को रखने के लिए अपने डेटाबेस में एक टेबल बनाकर मिमल आप निम्न कमांड का उपयोग कर सकते हैं:

     टेबल टैबलेट बनाएं प्रशिक्षण (ध्रुवीकरण int,आईडी बिगिन,date_of_tweet varchar,क्वेरी varchar,user_id varchar,कलरव वर्चार (अधिकतम))    

एस 3 पर सीएसवी फ़ाइल अपलोड करना

Semaltेट COPY कमांड का उपयोग करने के लिए, आपको अपना डेटा स्रोत (यदि यह फ़ाइल है) को S3 पर अपलोड करना होगा।

एस 3 को सीएसवी फ़ाइल अपलोड करने के लिए:

  1. आपके द्वारा डाउनलोड की गई फ़ाइल को अनझिप करें । आपको 2 सीएसवी फाइलें दिखाई देंगी: एक टेस्ट डेटा है (मूल डाटासेट की संरचना दिखाने के लिए उपयोग किया जाता है), और अन्य (फ़ाइल नाम: प्रशिक्षण। 1600000. संसाधित। नोमेोटिकॉन) में मूल डेटा शामिल है। हम बाद की फ़ाइल को अपलोड और उपयोग करेंगे।
  2. फ़ाइल को संकुचित करें । यदि आप मैक ओएस या लिनक्स का उपयोग कर रहे हैं, तो आप टर्मिनल में निम्न कमांड को चलाकर जीज़आईपीएपी का उपयोग करके फ़ाइल को संकीत कर सकते हैं: जीज़िप ट्रेनिंग। 1600000. संसाधित। noemoticon। सीएसवी
  3. AWS S3 डैशबोर्ड का उपयोग करके अपनी फ़ाइल अपलोड करें।

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

टीमशूएल को Redshift क्लस्टर से कनेक्ट करें और स्कीमा बनाएं

ओपन टीम एसक्यूएल (यदि आपके पास टीम एसक्यूएल Semaltेट नहीं है, तो इसे टीसीएसएल से डाउनलोड करें। Io) और एक नया कनेक्शन जोड़ें।

  • क्लिक करें एक कनेक्शन बनाएँ जोड़ने कनेक्शन विंडो को लॉन्च करने के लिए

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

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

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

  • अपने डेटाबेस में एक नई स्कीमा बनाने के लिए इस कमांड को चलाएं।
     बनाम स्केएमा ट्वीट्स;    

  • कनेक्शन आइटम पर दायाँ क्लिक करने के साथ बाएं हाथ वाले नेविगेशन पैनल में डेटाबेस सूची को रीफ़्रेश करें
  • प्रशिक्षण डेटा के लिए एक नई तालिका बनाएं
     टेबल टैबलेट बनाएं प्रशिक्षण (ध्रुवीकरण int,मैंने नहीं किया,date_of_tweet varchar,क्वेरी varchar,user_id varchar,ट्वीट वार्कार)    

(16 9)

  • कनेक्शन को ताज़ा करें और आपकी तालिका बाएं हाथ की सूची में दिखाई देनी चाहिए।

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

कॉप्पी कमान का आयात डेटा आयात करने के लिए

अपने डेटा को अपने डेटा तालिका से अपने डेटा तालिका में कॉपी करने के लिए, निम्न कमांड चलाएं:

     कॉपी ट्वीट्स 'एस 3 से प्रशिक्षण: // MY_BUCKET / प्रशिक्षण 1600000. संसाधित। noemoticon। सीएसवी। GZ 'क्रेडेंशियल 'aws_access_key_id = MY_ACCESS_KEY; aws_secret_access_key = MY_SECRET_KEY'सीएसवी जीजीआईपीआईपी एसीसीटेन्चर्स    

यह कमांड सीएसवी फ़ाइल लोड करता है और हमारे ट्वीट्स को डेटा आयात करता है। प्रशिक्षण तालिका

(1 9 1)(1 9 2) कमांड पैरामीटर परिभाषाएं

सीएसवी : इनपुट डेटा में सीएसवी प्रारूप का उपयोग सक्षम करता है

DELIMITER : एक ऐसे एएससीआईआई वर्ण को निर्दिष्ट करता है जो इनपुट फाइल में फ़ील्ड को अलग करने के लिए उपयोग किया जाता है, जैसे कि पाइप वर्ण (|), अल्पविराम , या टैब (\ t)।

जीजीआईपी : एक मान जो निर्दिष्ट करता है कि इनपुट फाइल या फाइल संपीड़ित जीज़िप प्रारूप में हैं (। जीजे फाइलें)। प्रतिलिपि ऑपरेशन प्रत्येक संपीड़ित फ़ाइल को पढ़ता है और डेटा को लोड करता है जैसे लोड होता है।

ACCEPTINVCHARS : VARCHAR कॉलम में डेटा लोड करना सक्षम करता है भले ही डेटा में अमान्य यूटीएफ -8 वर्ण होते हैं। ACCEPTINVCHARS निर्दिष्ट होने पर, प्रतिलिपि प्रतिस्थापन_चर द्वारा निर्दिष्ट वर्ण से मिलकर समान लंबाई की स्ट्रिंग के साथ प्रति अमान्य UTF-8 वर्ण को कॉपी करता है। उदाहरण के लिए, यदि प्रतिस्थापन चरित्र ' ^ ' है, तो एक अमान्य तीन-बाइट वर्ण को ' ^^^ ' से बदल दिया जाएगा '

प्रतिस्थापन चरित्र नल को छोड़कर किसी भी एएससीआईआई वर्ण हो सकता है। डिफ़ॉल्ट एक प्रश्न चिह्न है (?)। अमान्य यूटीएफ -8 वर्णों के बारे में जानकारी के लिए, मल्टीबाइटे कैरेक्टर लोड त्रुटियां देखें।

प्रतिलिपि में पंक्तियों की संख्या में अमान्य यूटीएफ -8 वर्ण हैं, और यह प्रत्येक प्रभावित पंक्ति के लिए STL_REPLACEMENTS प्रणाली तालिका में प्रविष्टि जोड़ता है, प्रत्येक नोड स्लाइस के लिए अधिकतम 100 पंक्तियों तक। अल्पकालिक अमान्य यूटीएफ -8 अक्षर भी बदल दिए जाते हैं, लेकिन उन प्रतिस्थापन घटनाओं को रिकॉर्ड नहीं किया जाता है।

यदि ACCEPTINVCHARS निर्दिष्ट नहीं किया गया है, तो COPY एक अमान्य UTF-8 वर्ण का सामना करते समय एक त्रुटि देता है।

ACCEPTINVCHARS केवल VARCHAR कॉलम के लिए मान्य है।

अतिरिक्त जानकारी के लिए, कृपया रेडिशफ्ट कॉपी पैरामीटर और डेटा स्वरूप देखें।

आयातित डेटा तक पहुंच

आपकी कॉप्पी प्रक्रिया समाप्त कर दी गई है, यह देखने के लिए एक SELECT क्वेरी चलाएं कि सब कुछ ठीक से आयात किया जाए:

     ट्वीट्स से * चुनें। प्रशिक्षण सीमित 200;    

Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

समस्या निवारण

यदि आप कॉप्मी कमांड निष्पादित करते समय एक त्रुटि प्राप्त करते हैं, तो आप निम्नलिखित को चलाकर सेमोड लॉग देख सकते हैं:

     का चयन करें * से stl_load_errors;    

आप मुफ्त में TeamSQL डाउनलोड कर सकते हैं।

March 1, 2018