Back to Question Center
0

COPY मिमलचा वापर करुन रेडिशिफ्ट मध्ये डेटा आयात करा            COPY मिमलचा वापर करुन रेडिशिफ्ट मध्ये डेटा आयात करा

1 answers:
कॉम्पी कमांड वापरुन रेडस्टफ्ट मध्ये डेटा आयात करा.

हा लेख मूलतः टीमसमूहाने प्रकाशित केला होता. ज्या भागीदारांना साइटपॉइंट शक्य करतात त्यांना पाठिंबा दिल्याबद्दल धन्यवाद.

COPY कमांडचा वापर करून मोठ्या प्रमाणात डेटा रेडफ्ट मध्ये आयात करणे सोपे आहे. हे प्रदर्शित करण्यासाठी, आम्ही सार्वजनिकरित्या उपलब्ध डेटासेट "सामुदायिक विश्लेषण साठी ट्विटर डेटा" आयात करू (अतिरिक्त माहितीसाठी Semalt140 पहा).

टिप : आपण टीम एसक्यूएल, रेडशिफ्ट, पोस्टग्रेश एसईएल, मायक्रोसॉफ्ट एस क्यू एल सर्व्हरसह काम करणार्या मल्टी-प्लॅटफॉर्म डीबी ग्राहकांसह एडब्ल्यूएस रेडिशफ्टशी कनेक्ट होऊ शकतो आणि मॅक, लिनक्स व विंडोजवर चालतो - login biogreen. आपण TeamSQL डाउनलोड करू शकता विनामूल्य.

झिप फाईल ज्यामध्ये प्रशिक्षण डेटा येथे आहे.

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

या उदाहरणाच्या उद्देशासाठी, रेडशिफ्ट सेमीलेट कॉन्फिगरेशन तपशील पुढीलप्रमाणे आहेत:

  • क्लस्टर प्रकार : सिंगल नोड
  • नोड प्रकार : डीसी 1. मोठा
  • झोन : अमेरिका-पूर्व -1 ए
  • (3 9)

    रेडिफ्ट मध्ये एक डेटाबेस तयार करा

    आपल्या क्लस्टरमध्ये नवीन डेटाबेस तयार करण्यासाठी खालील आदेश चालवा:

         डेटाबेसची सृष्टी निर्माण करा;    

    भावना डेटाबेस मध्ये एक स्कीमा तयार करा

    आपल्या नव्याने तयार केलेल्या डेटाबेसमध्ये योजना तयार करण्यासाठी निम्न आदेश चालवा:

         तयार करा स्काइमा ट्वीट;    

    ट्रेनिंग डेटाची स्कीमा (संरचना)

    CSV फाईलमध्ये सर्व इमोटिकॉन्ससह काढलेल्या ट्विटर डेटाचा समावेश आहे. Semaltेट सहा स्तंभ आहेत:

    • ट्विटची कळसता (कळ: 0 = नकारात्मक, 2 = तटस्थ, 4 = सकारात्मक)
    • ट्विटचे नाव (उदा. 2087)
    • ट्विटची तारीख (उदा. शनिवार दिनांक 16 मे रोजी 23:58:44 यूटीसी 200 9)
    • क्वेरी (उदा. लाइक) कोणतीही क्वेरी नसल्यास, ही मूल्य NO_QUERY आहे
    • युक्तीने ट्विट केलेले संदेश (उदा. रोबोटिकिलडोजर)
    • ट्विटचा मजकूर (उदा. लेक्स थंड आहे)
    • (3 9)

      ट्रेनिंग डेटासाठी टेबल तयार करा

      प्रशिक्षण डेटा ठेवण्यासाठी आपल्या डेटाबेसमध्ये टेबल बनवून मिमल आपण खालील आज्ञा वापरू शकता:

           टेबलचे ट्वीट तयार करा. प्रशिक्षण (पोलरिटी इंट,आयडी बिगिनट,दिनांक_ओफ़_ट्रीब वक्रार,क्वेरी varchar,user_id varchar,ट्विट व्हाटार (कमाल))    

      एस 3 वर अपलोड करण्यासाठी सीएसव्ही फाइल

      Semalt COPY कमांड वापरण्यासाठी, आपण आपला डेटा स्रोत (ही फाइल असल्यास) S3 वर अपलोड करणे आवश्यक आहे.

      एस 3 वर सीएसव्ही फाइल अपलोड करण्यासाठी:

      (9 4)
    • आपण डाउनलोड केलेल्या फाइलचे अनझिप करा . आपल्याला 2 CSV फायली दिसतील: एक म्हणजे चाचणी डेटा (मूळ डेटासेटची संरचना दर्शविण्यासाठी वापरला जातो) आणि इतर (फाइल नाव: प्रशिक्षण. 1600000. प्रक्रियाकृत. Noemoticon) मूळ डेटा समाविष्ट करते. आम्ही नंतरचे फाईल अपलोड आणि वापरणार आहोत.
    • फाईल संकलित करा . आपण MacOS किंवा Linux वापरत असल्यास, आपण टर्मिनलमध्ये खालील कमांड चालवून GZIP वापरून फाइल संक्षिप्त करू शकता: gzip प्रशिक्षण 1600000. प्रक्रिया. नोमोटिकॉन सीएसव्ही
    • आपली फाईल AWS S3 डॅशबोर्ड वापरुन अपलोड करा.
    • वैकल्पिकरित्या, आपण आपली फाईल अपलोड करण्यासाठी टर्मिनल / कमांड लाइन वापरू शकता. हे करण्यासाठी, आपण AWS CLI स्थापित करणे आणि, स्थापनेनंतर, आपल्या प्रवेश आणि गुप्त कीसह (कॉन्फिगरेशन विझार्ड प्रारंभ करण्यासाठी आपल्या टर्मिनलवर चालवा एएएस कॉन्फिगर चालवा.

      टीमशुकेलला रेडिशिफ्ट क्लस्टरशी कनेक्ट करा आणि स्कीमा तयार करा

      ओपन सोमाएसयुएलएल (जर तुमच्याकडे सोशल नेटवर्की नसेल, तर तो teamsq वरून डाउनलोड करा.) आणि नवीन जोडणी जोडा.

        जोड कनेक्शन विंडो जोडण्यासाठी
      • क्लिक एक कनेक्शन तयार करा
      • (3 9)

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

        • रेडिशिफ्ट निवडा आणि नवीन कनेक्शन सेट करण्यासाठी विनंती केलेले तपशील प्रदान करा.
        • डीफॉल्टनुसार, TeamSQL आपण डाव्या-हाताकडील नेव्हिगेशन पॅनेलमध्ये जोडलेल्या कनेक्शन दर्शवितो. कनेक्शन सक्षम करण्यासाठी, सॉकेट आयकॉनवर क्लिक करा.
        • नवीन टॅब उघडण्यासाठी डीफॉल्ट डेटाबेसवर राईट क्लिक करा.
        • (3 9)

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

          • आपल्या डेटाबेसमध्ये एक नवीन स्कीमा तयार करण्यासाठी हा आदेश चालवा.
          • (3 9)
                 तयार करा स्काइमा ट्वीट;    

            • कनेक्शन आयटमवर उजवे क्लिक करुन डाव्या-हाताकडील नेव्हिगेशन पॅनेलमध्ये डेटाबेस सूची रीफ्रेश करा
            • प्रशिक्षण डेटासाठी एक नवीन सारणी तयार करा.
            • (3 9)
                   टेबलचे ट्वीट तयार करा. प्रशिक्षण (पोलरिटी इंट,id int,दिनांक_ओफ़_ट्रीब वक्रार,क्वेरी varchar,user_id varchar,ट्विट व्हर्चार)    

              (16 9)

              • कनेक्शन रीफ्रेश करा आणि आपले टेबल डाव्या-हाताच्या यादीत दिसावा.
              • (3 9)

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

                डेटा आयात करण्यासाठी COPY कमांड वापरणे

                आपला डेटा आपल्या डेटा टेबलवरून आपल्या डेटा टेबलमध्ये कॉपी करण्यासाठी, खालील आज्ञा चालवा:

                     कॉपी ट्वीट. s3: // MY_BUCKET / प्रशिक्षण पासून प्रशिक्षण. 1600000. प्रक्रिया. नोमोटिकॉन सीएसव्ही. gz 'क्रेडेन्शियल 'aws_access_key_id = MY_ACCESS_KEY; aws_secret_access_key = MY_SECRET_KEY'CSV GZIP ACCEPTINVCHARS    

                ही आज्ञा CSV फाईल लोड करते आणि आमच्या ट्वीटवर डेटा आयात करते. प्रशिक्षण टेबल

                (1 9 1)(1 9 2) कमांड पॅरामेटर परिभाषा

                CSV : इनपुट डेटामध्ये CSV स्वरुपनाचा वापर सक्षम करते

                DELIMITER : एकच फाईल वर्ण (|), एक स्वल्पविराम (,) किंवा टॅब (\ t) सारख्या इनपुट फाईलमधील फील्ड विभक्त करण्यासाठी वापरले जाणारे एकल ASCII वर्ण निर्दिष्ट करते.

                GZIP : इनपुट फाइल किंवा फाइल संकुचित gzip स्वरूप (. Gz फायली) मध्ये निर्दिष्ट करते ते मूल्य. COPY ऑपरेशन प्रत्येक संकुचित फाइल वाचतो आणि लोड होताना डेटा अनस्यूप्रेस करते.

                ACCEPTINVCHARS : डेटामध्ये अवैध UTF-8 वर्ण असले तरी देखील VARCHAR स्तंभात डेटा लोड करणे सक्षम करते. ACCEPTINVCHARS निर्दिष्ट केल्यावर, COPY प्रत्येक अमान्य UTF-8 वर्ण पुनर्स्थित करेल replace_char द्वारे निर्दिष्ट वर्ण असलेली समान लांबीच्या स्ट्रिंगसह. उदाहरणार्थ, जर प्रतिस्थापन पात्र ' ^ ' आहे, तर अवैध तीन-बाइट वर्ण ' ^^^ ' ने बदलले जाईल '.

                बदली अक्षरे NULL शिवाय कोणत्याही ASCII वर्ण असू शकतात मुलभूत प्रश्न चिन्ह आहे (?). अवैध UTF-8 वर्णांविषयी माहितीसाठी, Multibyte कॅरेक्टर लोड त्रुटी पाहा.

                COPY अमान्य UTF-8 वर्ण समाविष्ट असलेल्या पंक्तीची संख्या परत करते आणि प्रत्येक प्रभावित पंक्तीसाठी, प्रत्येक नोड स्लाइससाठी जास्तीत जास्त 100 ओळींपर्यंत STL_REPLACEMENTS प्रणाली सारणीत प्रवेश जोडते. अवैध UTF-8 वर्ण देखील बदलले आहेत, परंतु त्या बदलत्या घटना रेकॉर्ड केल्या जात नाहीत.

                ACCEPTINVCHARS निर्दिष्ट नसल्यास, COPY ने एक अवैध UTF-8 वर्ण प्राप्त करताना त्रुटी प्राप्त केली.

                ACCEPTINVCHARS फक्त VARCHAR स्तंभांसाठी वैध आहे.

                अतिरिक्त माहितीसाठी, कृपया रेडिशफ्ट कॉपी प्राचल आणि डेटा स्वरूप पहा.

                आयातीत डेटा ऍक्सेस करणे

                आपल्या COPY प्रक्रियेचे समाप्ती पूर्ण झाल्यानंतर, प्रत्येक गोष्ट योग्यरित्या आयात केली आहे काय हे पाहण्यासाठी SELECT क्वेरी चालवा:

                     ट्वीट्स मधून निवडा. प्रशिक्षण मर्यादा 200;    

                (147) Import Data into Redshift Using the COPY SemaltImport Data into Redshift Using the COPY Semalt

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

                COPY आदेश अंमलात आणताना आपल्याला एखादी चूक झाल्यास, आपण खालील चालवून सेमॅट लॉग तपासू शकता:

                     निवडा * FROM stl_load_errors;    

                आपण विनामूल्य TeamSQL डाउनलोड करू शकता.

March 1, 2018