Back to Question Center
0

COPY సెమాల్ట్ ఉపయోగించి Redshift లోకి డేటాను దిగుమతి చేయండి            COPY సెమాల్ట్ ఉపయోగించి Redshift లోకి డేటాను దిగుమతి చేయండి

1 answers:
COPY కమాండ్ ఉపయోగించడం Redshift లోకి డేటా దిగుమతి

ఈ వ్యాసం మొదట టీమ్స్క్యూల్చే ప్రచురించబడింది. సైట్పాయింట్ సాధించే భాగస్వాములకు మద్దతు ఇచ్చినందుకు ధన్యవాదాలు.

RedShift లోకి డేటాను పెద్ద మొత్తంలో దిగుమతి COPY ఆదేశం ఉపయోగించి సులభం. దీనిని ప్రదర్శించడానికి, మేము బహిరంగంగా అందుబాటులో ఉన్న డేటాసెట్ను "సెమాల్ట్ విశ్లేషణ కోసం ట్విట్టర్ డేటా" ను దిగుమతి చేస్తాము (అదనపు సమాచారం కోసం Semalt140 చూడండి).

గమనిక: : మీరు RedSift, PostgreSQL, MySQL మరియు మైక్రోసాఫ్ట్ SQL సర్వర్తో పనిచేసే మల్టీ-ప్లాట్ఫారమ్ DB క్లయింట్తో, AWS రెడ్ షిఫ్ట్కు అనుసంధానించవచ్చు మరియు Mac, Linux మరియు Windows పై నడుస్తుంది. మీరు ఉచితంగా టీమ్స్క్యూల్ డౌన్లోడ్ చేసుకోవచ్చు - transporter gunstig.

ఇక్కడ శిక్షణ డేటాను కలిగి జిప్ ఫైల్ను Semalt.

ది రెడ్ షిఫ్ట్ క్లస్టర్

ఈ ఉదాహరణ ప్రయోజనాల కోసం, రెడ్ షిఫ్ట్ సెమాల్ట్ కాన్ఫిగరేషన్ లక్షణాలు క్రింది విధంగా ఉన్నాయి:

  • క్లస్టర్ టైప్ : సింగిల్ నోడ్
  • నోడ్ టైప్ : dc1. పెద్దది
  • జోన్ : మాకు-తూర్పు- 1 ఎ

Redshift లో ఒక డేటాబేస్ సృష్టించండి

మీ క్లస్టర్లో కొత్త డాటాబేస్ను సృష్టించేందుకు కింది ఆదేశాన్ని అమలు చేయండి:

     డేటాబేస్ సెంటిమెంట్ను సృష్టించండి;    

సెంటిమెంట్ డేటాబేస్లో ఒక స్కీమాని సృష్టించండి

మీ కొత్తగా సృష్టించిన డేటాబేస్లో ఒక పథకాన్ని రూపొందించడానికి కింది ఆదేశాన్ని అమలు చేయండి:

     SCHEMA ట్వీట్లు సృష్టించండి;    

శిక్షణా డేటా యొక్క (షెడ్యూల్)

CSV ఫైల్ అన్ని ఎమోటికాన్లను తొలగించిన ట్విట్టర్ డేటాను కలిగి ఉంటుంది. సెమాల్ట్ ఆరు స్తంభాలు:

  • ట్వీట్ యొక్క ధ్రువణత (కీ: 0 = ప్రతికూల, 2 = తటస్థ, 4 = సానుకూలత)
  • ట్వీట్ యొక్క id (ఉదా 2087)
  • ట్వీట్ తేదీ (శనివారం మే 16 16:58:44 UTC 2009)
  • ప్రశ్న (ఉదా. ప్రశ్న లేనట్లయితే, ఈ విలువ NO_QUERY.
  • ట్వీట్ చేసిన యూజర్ (ఉదా: robotickilldozr)
  • ట్వీట్ యొక్క టెక్స్ట్ (ఉదా. లింక్స్ బాగుంది)

శిక్షణ డేటా కోసం ఒక టేబుల్ సృష్టించు

సెమాల్ట్ శిక్షణ డేటా నిర్వహించడానికి మీ డేటాబేస్ లో ఒక పట్టిక సృష్టించడం ద్వారా. మీరు కింది ఆదేశం ఉపయోగించవచ్చు:

     ట్వీట్ ట్వీట్లను సృష్టించండి. శిక్షణ (ధ్రువణ Int,id BIGINT,date_of_tweet varchar,ప్రశ్న వర్చర్,user_id varchar,ట్వీట్ వర్చార్ (గరిష్టంగా))    

CSV ఫైల్ను S3 కు అప్లోడ్ చేస్తోంది

Semalt COPY ఆదేశం ఉపయోగించడానికి, మీరు మీ డేటా మూలం (అది ఒక ఫైల్ ఉంటే) S3 కు అప్లోడ్ చేయాలి.

S3 కు CSV ఫైల్ను అప్లోడ్ చేయడానికి:

  1. మీరు డౌన్లోడ్ చేసిన ఫైల్ అన్జిప్ . మీరు 2 CSV ఫైళ్ళను చూస్తారు: ఒకటి పరీక్ష డేటా (అసలు డేటాసమితి యొక్క నిర్మాణం చూపించడానికి ఉపయోగిస్తారు) మరియు ఇతర (ఫైల్ పేరు: శిక్షణ 1600000. ప్రాసెస్ చేయబడిన నోమోటికాటన్) అసలు డేటాను కలిగి ఉంటుంది. మేము రెండవ ఫైల్ను అప్లోడ్ చేస్తాము మరియు ఉపయోగించుకుంటాము.
  2. ఫైల్ను కంప్రెస్ చేయండి . మీరు macOS లేదా Linux ను ఉపయోగిస్తుంటే, టెర్మినల్ లో కింది ఆదేశాన్ని అమలు చేయడం ద్వారా GZIP ను ఉపయోగించి ఫైల్ను కుదించవచ్చు: gzip శిక్షణ. 1600000. ప్రాసెస్ చేయబడినది. noemoticon. csv
  3. AWS S3 డాష్బోర్డ్ ఉపయోగించి మీ ఫైల్ను అప్లోడ్ చేయండి.

ప్రత్యామ్నాయంగా, మీరు మీ ఫైల్ను అప్లోడ్ చేయడానికి టెర్మినల్ / కమాండ్ లైన్ ను ఉపయోగించవచ్చు. దీనిని చెయ్యడానికి, మీరు AWS CLI ని ఇన్స్టాల్ చేసి, సంస్థాపన తర్వాత, మీ యాక్సెస్ మరియు రహస్య కీతో (కన్ఫిగర్ విజర్డ్ను ప్రారంభించడానికి మీ టెర్మినల్లో రన్ ఆకృతీకరణ ను కాన్ఫిగర్ చేయండి.

రెడ్ షిఫ్ట్ క్లస్టర్కు టీమ్స్క్యుర్ను కనెక్ట్ చేయండి మరియు స్కీమను సృష్టించండి

ఓపెన్ టీమ్స్క్యుల్ (మీకు టీమ్స్క్యూల్ సెమాల్ట్ లేకపోతే, అది జట్లు ql io నుండి డౌన్లోడ్ చేసుకోండి) మరియు కొత్త కనెక్షన్ను జత చేయండి.

  • క్లిక్ చేయండి కనెక్షన్ సృష్టించు కనెక్షన్ విండోని ప్రారంభించుటకు సృష్టించండి.

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

  • మీ డాటాబేస్లో కొత్త స్కీమాని సృష్టించుటకు ఈ ఆదేశాన్ని అమలు చేయండి.
     SCHEMA ట్వీట్లు సృష్టించండి;    

  • కనెక్షన్ అంశంపై కుడి క్లిక్ తో ఎడమ చేతి పేజీకి సంబంధించిన లింకులు ప్యానెల్లో డేటాబేస్ జాబితాని రిఫ్రెష్ చేయండి.
  • శిక్షణ డేటా కోసం ఒక కొత్త పట్టిక సృష్టించండి.
     ట్వీట్ ట్వీట్లను సృష్టించండి. శిక్షణ (ధ్రువణ Int,ID 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 కమాండ్ను ఉపయోగించడం

మీ డేటాను మీ డేటాను మీ డేటా పట్టికకు కాపీ చేయడానికి, కింది ఆదేశాన్ని అమలు చేయండి:

     COPY ట్వీట్లు. శిక్షణ నుండి 3: // 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 : ఇన్పుట్ ఫైల్ లేదా ఫైల్స్ కంప్రెస్డ్ జిజిప్ ఫార్మాట్ (. COPY ఆపరేషన్ ప్రతి కంప్రెస్డ్ ఫైల్ను చదువుతుంది మరియు అది లోడ్ చేస్తున్నప్పుడు డేటాను కంప్రెస్ చేస్తుంది.

ACCEPTINVCHARS : డేటా చెల్లని UTF-8 అక్షరాలను కలిగి ఉన్నప్పటికీ VARCHAR నిలువు వరుసలను డేటాను లోడ్ చేయడాన్ని ప్రారంభిస్తుంది. ACCEPTINVCHARS పేర్కొన్నప్పుడు, ప్రతి చెల్లని UTF-8 అక్షరాన్ని COPY భర్తీ చేస్తుంది భర్తీ చేయబడిన అక్షరం యొక్క సమాన పొడవుతో భర్తీ_చార్ . ఉదాహరణకు, 'భర్తీ పాత్ర' ^ ', ఒక చెల్లని మూడు-బైట్ పాత్ర' ^ ^ ^ ^ 'తో భర్తీ చేయబడుతుంది.

భర్తీ పాత్ర NULL తప్ప ఏ ASCII అక్షరం అయి ఉండవచ్చు. డిఫాల్ట్ ప్రశ్న గుర్తు (?). చెల్లని UTF-8 అక్షరాల గురించి సమాచారం కోసం, మల్టిబైట్ క్యారెక్టర్ లోడర్ ఎర్రర్స్ చూడండి.

COPY చెల్లుబాటు అయ్యే UTF-8 అక్షరాలను కలిగిన వరుసల సంఖ్యను అందిస్తుంది మరియు ప్రతి నోడ్ స్లైస్కు గరిష్టంగా 100 వరుసలు వరకు ప్రతి ప్రభావితమైన వరుస కోసం STL_REPLACEMENTS సిస్టమ్ పట్టికకు ఇది ప్రవేశిస్తుంది. Semalt చెల్లని UTF-8 అక్షరాలు కూడా భర్తీ చేయబడ్డాయి, కాని ఆ భర్తీ ఈవెంట్స్ నమోదు చేయబడలేదు.

ACCEPTINVCHARS పేర్కొనబడకపోతే, COPY ఒక చెల్లని UTF-8 అక్షరాన్ని ఎదుర్కొన్నప్పుడు లోపాన్ని తిరిగి పంపుతుంది.

ACCEPTINVCHARS మాత్రమే VARCHAR నిలువు కోసం చెల్లుతుంది.

అదనపు సమాచారం కోసం, దయచేసి రెడ్ షిఫ్ట్ కాపీ పారామితులు మరియు డేటా ఫార్మాట్ చూడండి.

దిగుమతి చేయబడిన డేటాను యాక్సెస్ చేస్తోంది

సెమాల్ట్ మీ COPY ప్రక్రియ పూర్తయింది, సరిగ్గా దిగుమతి చేయబడినదో చూడడానికి SELECT ప్రశ్నని అమలు చేయండి:

     ట్వీట్లు నుండి ఎంచుకోండి. శిక్షణ LIMIT 200;    

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

ట్రబుల్ షూటింగ్

COPY కమాండ్ని అమలు చేస్తున్నప్పుడు మీరు పొరపాటున వస్తే, మీరు క్రింది సెమల్టల్ లాగ్లను తనిఖీ చేయవచ్చు:

     stl_load_errors నుండి SELECT *;    

మీరు ఉచిత కోసం TeamSQL డౌన్లోడ్ చేసుకోవచ్చు.

March 1, 2018