Back to Question Center
0

COPY செமால்ட்டைப் பயன்படுத்தி Redshift இல் தரவை இறக்குமதி செய்யவும்            COPY செமால்ட்டைப் பயன்படுத்தி Redshift இல் தரவை இறக்குமதி செய்யவும்

1 answers:
COPY கட்டளைப் பயன்படுத்தி Redshift இல் தரவை இறக்குமதி செய்

இந்த கட்டுரை முதலில் வெளியிடப்பட்டது TeamSQL. SitePoint சாத்தியமான கூட்டாளர்களை ஆதரிப்பதற்கு நன்றி.

RedSift இல் ஒரு பெரிய அளவிலான தரவு இறக்குமதி COPY கட்டளையைப் பயன்படுத்தி எளிதானது. இதை நிரூபிக்க, பொதுமக்களிடம் கிடைக்கக்கூடிய தரவுத்தொகுதியை "செமால்ட் அனாலிசிஸிற்கான ட்விட்டர் தரவு" (கூடுதல் தகவலுக்கு Semalt140 ஐப் பார்க்கவும்) - мaленький xml редaктор.

குறிப்பு : நீங்கள் RedSift, PostgreSQL, MySQL மற்றும் மைக்ரோசாஃப்ட் SQL சர்வர் மற்றும் மேக், லினக்ஸ் மற்றும் விண்டோஸ் இயங்குகிறது என்று MultiSDD வாடிக்கையாளர், TeamSQL உடன் AWS Redshift உடன் இணைக்க முடியும். நீங்கள் இலவசமாக TeamSQL பதிவிறக்க முடியும்.

இங்கே பயிற்சி தரவு கொண்ட ZIP கோப்பை Semalt.

தி ரெட் ஷிப்ட் க்ளஸ்டர்

இந்த எடுத்துக்காட்டின் நோக்கங்களுக்காக, Redshift Semalt கட்டமைப்பு விவரங்கள் பின்வருமாறு:

  • கிளஸ்டர் வகை : ஒற்றை முனை
  • முனை வகை : dc1. பெரியது
  • மண்டலம் : எங்களுக்கு கிழக்கு-1 ஏ

Redshift ஒரு தரவுத்தள உருவாக்க

உங்கள் கிளஸ்டரில் ஒரு புதிய தரவுத்தளத்தை உருவாக்க பின்வரும் கட்டளையை இயக்கவும்:

     தரவுத்தள உணர்வு உருவாக்குதல்;    

செண்டிமெண்ட் டேட்டாபேஸில் ஒரு திட்டத்தை உருவாக்கவும்

உங்கள் புதிதாக உருவாக்கப்பட்ட தரவுத்தளத்தில் ஒரு திட்டத்தை உருவாக்க பின்வரும் கட்டளையை இயக்கவும்:

     ஸ்கீமா ட்வீட்ஸை உருவாக்குங்கள்;    

பயிற்சித் தரவு

சி.வி.வி. கோப்பில் ட்விட்டர் தரவை அகற்றுவதன் அனைத்து உணர்ச்சிகளையும் கொண்டுள்ளது. செமால்ட் ஆறு பத்திகள்:

  • ட்வீட் (முக்கிய: 0 = எதிர்மறை, 2 = நடுநிலை, 4 = நேர்மறை)
  • ட்வீட் ஐடி (எக்ஸ் 2087)
  • ட்வீட் தேதி (எ.கா. Sat 16 மே 23:58:44 யுடிசி 2009)
  • வினவல் (எல் லைக்ஸ்). கேள்வி எதுவும் இல்லை என்றால், இந்த மதிப்பு NO_QUERY ஆகும்.
  • ட்வீட் செய்த பயனர் (முன்னாள் ரோபோட்டிகில்டாகர்)
  • ட்வீட் உரை (எல் லிக்ஸ் குளிர்ச்சியாக இருக்கிறது)

பயிற்சி தரவு ஒரு அட்டவணை உருவாக்கவும்

பயிற்சி தரவு நடத்த உங்கள் தரவுத்தளத்தில் ஒரு அட்டவணை உருவாக்குவதன் மூலம் செமால்ட். பின்வரும் கட்டளையைப் பயன்படுத்தலாம்:

     டேபிள் ட்வீட்ஸை உருவாக்குங்கள். பயிற்சி (துருவமுனைப்பு int,id BIGINT,date_of_tweet varchar,விரார் விரார்,user_id varchar,ட்வீட் வார்ச்சர் (அதிகபட்சம்))    

சிஎஸ்வி கோப்பை S3 க்கு அனுப்புகிறது

Semalt COPY கட்டளையைப் பயன்படுத்த, நீங்கள் உங்கள் தரவு மூலத்தை (அது ஒரு கோப்பாக இருந்தால்) S3 க்கு பதிவேற்ற வேண்டும்.

CS3 கோப்பை S3 க்கு பதிவேற்ற:

  1. நீங்கள் பதிவிறக்கிய கோப்பை நீக்கு . நீங்கள் 2 CSV கோப்புகளைக் காணலாம்: ஒன்று சோதனைத் தரவு (அசல் தரவுத்தொகுதியின் கட்டமைப்பைக் காட்ட பயன்படுத்தப்படும்), மற்றும் பிற (கோப்பு பெயர்: பயிற்சி 1600000. செயலாக்கப்பட்ட .Nomemoticon) அசல் தரவைக் கொண்டுள்ளது. நாங்கள் பதிவேற்ற மற்றும் இரண்டாவது கோப்பு பயன்படுத்துவோம்.
  2. கோப்பை அழுத்தி . நீங்கள் மேக்ஸ்கஸ் அல்லது லினக்ஸைப் பயன்படுத்துகிறீர்கள் என்றால், டெர்மினலில் பின்வரும் கட்டளையை இயங்குவதன் மூலம் GZIP ஐ பயன்படுத்தி கோப்பை அழுத்தி கொள்ளலாம்: gzip பயிற்சி. 1600000. பதப்படுத்தப்பட்ட. noemoticon. csv
  3. AWS S3 டாஷ்போர்டைப் பயன்படுத்தி உங்கள் கோப்பை பதிவேற்றவும்.

மாற்றாக, உங்கள் கோப்பை பதிவேற்ற முனையம் / கட்டளை வரி பயன்படுத்தலாம். இதை செய்ய, நீங்கள் AWS CLI ஐ நிறுவ வேண்டும், நிறுவலுக்குப் பிறகு, உங்கள் அணுகல் மற்றும் இரகசிய விசைடன் (கட்டமைத்தல் வழிகாட்டியைத் துவக்க உங்கள் முனையத்தில் ரன் கட்டமைக்க கட்டமைக்கவும்.

Redshift கிளஸ்டருடன் TeamSQL ஐ இணைக்கவும், ஸ்கீமா

திறந்த TeamSQL (நீங்கள் TeamSQL செமால்ட் இல்லை என்றால், அதை குழுக்கள் io இருந்து பதிவிறக்கவும்) மற்றும் ஒரு புதிய இணைப்பு சேர்க்க.

  • சொடுக்கவும் இணைப்பு இணைப்பை உருவாக்குவதற்கு ஒரு இணைப்பு உருவாக்கவும்.

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

  • Redshift ஐ தேர்ந்தெடுத்து உங்கள் புதிய இணைப்பை அமைக்க கோரிய விவரங்களை வழங்கவும்.
  • முன்னிருப்பாக, இடது-வழி ஊடுருவல் பேனலில் நீங்கள் சேர்த்த இணைப்புகளை TeamSQL காட்டுகிறது. இணைப்பு செயல்படுத்த, சாக்கெட் ஐகானை கிளிக் செய்யவும்.
  • ஒரு புதிய தாவலை திறக்க இயல்புநிலை தரவுத்தளத்தில் வலது கிளிக் செய்யவும்.

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

  • உங்கள் தரவுத்தளத்தில் புதிய திட்டத்தை உருவாக்க இந்த கட்டளையை இயக்கவும்.
     ஸ்கீமா ட்வீட்ஸை உருவாக்குங்கள்;    

  • இணைப்பு உருப்படியை வலது கிளிக் செய்வதன் மூலம் இடது புற வழிசெலுத்தல் பலகத்தில் தரவுத்தள பட்டியலை புதுப்பி
  • பயிற்சி தரத்திற்கான ஒரு புதிய அட்டவணையை உருவாக்குங்கள்.
     டேபிள் ட்வீட்ஸை உருவாக்குங்கள். பயிற்சி (துருவமுனைப்பு int,ஐடி எண்ணாக,date_of_tweet varchar,விரார் விரார்,user_id varchar,ட்வீட் வார்ச்சர்)    

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

  • இணைப்பு புதுப்பிக்கவும், உங்கள் அட்டவணை இடது பக்க பட்டியலில் தோன்றும்.

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

கோப்பக கட்டளை இறக்குமதி தரவுக்கு

பயன்படுத்தி

உங்கள் தரவை உங்கள் தரவை உங்கள் தரவு அட்டவணையில் நகலெடுக்க, பின்வரும் கட்டளையை இயக்கவும்:

     COPY ட்வீட். 's3: // MY_BUCKET / பயிற்சியிலிருந்து பயிற்சி. 1600000. பதப்படுத்தப்பட்ட. noemoticon. CSV. GZ 'சான்றுகள் 'aws_access_key_id = MY_ACCESS_KEY; aws_secret_access_key = MY_SECRET_KEY'CSV GZIP ACCEPTINVCHARS    

இந்த கட்டளை CSV கோப்பை ஏற்றும், எங்கள் ட்வீட் தரவை இறக்குமதி செய்கிறது. பயிற்சி அட்டவணை.

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

கட்டளை அளவுரு வரையறைகள்

CSV : உள்ளீடு தரவு உள்ள CSV வடிவமைப்பை பயன்படுத்த உதவுகிறது.

DELIMITER : குழாய் எழுத்து (|), ஒரு கமா , அல்லது ஒரு தாவல் (\ t) போன்ற உள்ளீடு கோப்பில் துறைகள் தனிப்படுத்த பயன்படும் ஒற்றை ASCII பாத்திரத்தைக் குறிப்பிடுகிறது.

GZIP : உள்ளீடு கோப்பு அல்லது கோப்புகள் சுருக்கப்பட்ட gzip வடிவமைப்பில் (. Gz கோப்புகள்) குறிப்பிடுகின்ற ஒரு மதிப்பு. COPY செயல்பாடு ஒவ்வொரு அழுத்தப்பட்ட கோப்பினைப் படிப்பதோடு தரவை சுருக்கமாக ஒடுக்கிவிடுகிறது.

ACCEPTINVCHARS : தரவு தவறான UTF-8 எழுத்துகள் கொண்டிருக்கும் போதும் VARCHAR நெடுவரிசையில் தரவுகளை ஏற்றுவதை இயக்குகிறது. ACCEPTINVCHARS குறிப்பிடும்போது, ​​COPY ஒவ்வொரு தவறான யுடிஎஃப் -8 தன்மையையும் மாற்றுகிறது, இது மூலம் குறிப்பிடப்பட்டிருக்கும் தன்மையைக் கொண்டிருக்கும். உதாரணமாக, மாற்று எழுத்து என்றால் ' ^ ', ஒரு தவறான மூன்று பைட் கதாபாத்திரம் ' ^ ^ ^ ' உடன் மாற்றப்படும்.

பதிலாக எழுத்து NULL தவிர எந்த ASCII பாத்திரம் இருக்க முடியும். இயல்புநிலை ஒரு கேள்வி குறி (?). செல்லுபடியாகாத UTF-8 கதாபாத்திரங்கள் பற்றிய தகவல்களுக்கு, மல்டிபிட் கேரக்டர் லோட் பிழைகள் பார்க்கவும்.

COPY தவறான UTF-8 எழுத்துக்களை கொண்டிருக்கும் வரிசைகளின் எண்ணிக்கையை வழங்குகிறது, ஒவ்வொரு பாதிக்கப்பட்ட வரிசைக்கு STL_REPLACEMENTS முறை அட்டவணைக்கு ஒரு நுழைவு சேர்க்கிறது, ஒவ்வொரு முனை ஸ்லைடுக்கும் அதிகபட்சம் 100 வரிசைகள் வரை. செம்பால் செல்லாத UTF-8 எழுத்துக்கள் கூட மாற்றப்படுகின்றன, ஆனால் அந்த மாற்று நிகழ்வுகள் பதிவு செய்யப்படவில்லை.

ACCEPTINVCHARS குறிப்பிடப்படவில்லை எனில், தவறான யுடிஎஃப் -8 தன்மையை எதிர்கொள்ளும் போதெல்லாம், COPY ஒரு பிழை கொடுக்கிறது.

VARCHAR பத்திகள் மட்டுமே ACCEPTINVCHARS செல்லுபடியாகும்.

கூடுதல் தகவலுக்கு, Redshift Copy Parameters and Data Format ஐப் பார்க்கவும்.

இறக்குமதி செய்த தரவு அணுகல்

செம்மை உங்கள் COPY செயல்முறை முடிந்துவிட்டது, அனைத்தையும் ஒழுங்காக இறக்குமதி செய்திருந்தால், ஒரு SELECT வினையை இயக்கவும்:

     ட்வீட்ஸிலிருந்து தேர்ந்தெடுக்கவும். பயிற்சி LIMIT 200;    

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

பழுது பார்த்தல்

COPY கட்டளையை இயக்கும் போது நீங்கள் ஒரு பிழை செய்தால், பின்வருவதை இயக்குவதன் மூலம் செம்மை பதிவுகள் சரிபார்க்கலாம்:

     stl_load_errors ஐ தேர்ந்தெடுக்கவும்;    

நீங்கள் இலவசமாக TeamSQL பதிவிறக்க முடியும்.

March 1, 2018