Back to Question Center
0

Tuo tiedot Redshiftiin COPY Semaltin avulla            Tuo tiedot Redshiftiin COPY Semaltin avulla

1 answers:
Tuo tiedot punaiseen vaihtoon COPY-komennon avulla

Tämä artikkeli julkaistiin alunperin TeamSQL. Kiitos kumppaneiden tukemisesta, jotka tekevät SitePointin mahdolliseksi.

Suuren datamäärän tuonti Redshiftiin on helppoa käyttämällä COPY-komentoa. Tämän osoittamiseksi tuomme julkisesti saatavilla olevan datasarjan "Twitter Data for Semalt Analysis" (katso lisätietoja Semalt140: stä).

Huomautus : Voit muodostaa yhteyden AWS Redshiftiin TeamSQL: llä, joka toimii Redshift-, PostgreSQL-, MySQL- ja Microsoft SQL Server -ohjelmalla toimivalla monipohjaisella DB-työasemalla ja toimii Macissa, Linuxissa ja Windowsissa. Voit ladata TeamSQL ilmaiseksi - απιβιτα βαφες.

Täytä ZIP-tiedosto, joka sisältää koulutustiedot täältä.

Redshift-klusteri

Tässä esimerkissä Redshift Semalt-määrityseritelmät ovat seuraavat:

  • Klusterityyppi : Yksisolmu
  • Solmityyppi : dc1. suuri
  • Alue : it-east-1a

Luo tietokanta Redshiftissa

Luo uusi tietokanta klusterissa seuraavasti:

     LUONTAA DATABASE-tunnetta;    

Luo kaavio Sentiment Database

Suorita seuraava komento luodaksesi järjestelmän uudella luodulla tietokannalla:

     CREATE SCHEMA tweets;    

Koulutustietojen kaavio (rakenne)

CSV-tiedosto sisältää Twitter-tiedot, joiden kaikki hymiöt on poistettu. Semalt on kuusi saraketta:

  • Napautuksen napaisuus (avain: 0 = negatiivinen, 2 = neutraali, 4 = positiivinen)
  • Kierteen id (esim. 2087)
  • Lähetyspäivä (esim. Touko 16 toukokuu 23:58:44 UTC 2009)
  • Kysely (esim. Lyx). Jos kyselyä ei ole, niin tämä arvo on NO_QUERY.
  • Käyttäjä, joka tweetoi (esim. Robotickilldozr)
  • Viestin teksti (esim. Lyx on viileä)

Luo taulukko koulutustiedoista

Semalt luomalla taulukon tietokantaan pitämään harjoittelutietoja. Voit käyttää seuraavaa komentoa:

     LUOVA TABLE tweets. koulutus (polariteetti int,id BIGINT,päivämäärä_tweet varchar,kysely varchar,user_id varchar,tweet varchar (max))    

CSV-tiedoston lataaminen S3: een

Jos haluat käyttää Semalt COPY -komentoa, sinun on ladattava tietolähteesi (jos se on tiedosto) S3: lle.

CSV-tiedoston lataaminen S3: een:

  1. Pura pakkaamasi tiedosto . Näet kaksi CSV-tiedostoa: yksi on testitietoja (käytetään alkuperäisen datasarjan rakenteen näyttämiseen) ja toinen (tiedostonimi: koulutus 1600000. käsittelemätön. Noemoticon) sisältää alkuperäiset tiedot. Lähetämme ja käytämme jälkimmäistä tiedostoa.
  2. Pakkaa tiedosto . Jos käytät MACOSia tai Linuxia, voit pakata tiedoston GZIP: llä suorittamalla seuraavan komennon Terminal: gzip-harjoittelussa. 1600000. prosessoidaan. noemoticon. csv
  3. Lähetä tiedosto AWS S3 -hallintapaneelilla.

Voit myös lähettää Terminaali / komentorivin tiedoston lataamiseen. Tätä varten sinun on asennettava AWS CLI ja asennuksen jälkeen määritettävä se (suorita aws configure päätteelle käynnistää ohjattu määritystoiminto käyttöoikeuden ja salaisen avaimen avulla.

Yhdistä TeamSQL Redshift-klusteriin ja luo kaavio

Avaa TeamSQL (jos sinulla ei ole TeamSQL Semaltia, lataa se teamsql. Io: sta) ja lisää uusi yhteys.

  • Napsauta Luo yhteys aloittaaksesi Lisää yhteys -ikkunan.

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

  • Valitse RedShift ja anna pyydetyt tiedot uusien yhteyksien asettamiseksi.
  • TeamSQL näyttää oletusarvoisesti vasemmanpuoleisen navigointipaneelin lisättyjä yhteyksiä. Voit ottaa yhteyden käyttöön napsauttamalla pistorasiaa kuvaketta.
  • Avaa uusi välilehti hiiren kakkospainikkeella oletustietokantaan.

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

  • Suorita tämä komento luodaksesi uuden kaavan tietokantaan.
     CREATE SCHEMA tweets;    

  • Päivitä tietokannan luettelo vasemmanpuoleisesta navigointipaneelista napsauttamalla hiiren oikealla painikkeella liitettä.
  • Luo uusi taulukko koulutustiedoista.
     LUOVA TABLE tweets. koulutus (polariteetti int,id int,päivämäärä_tweet varchar,kysely varchar,user_id varchar,tweet varchar)    

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

  • Päivitä yhteys ja taulukko tulee näkyviin vasemmanpuoleisessa luettelossa.

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

COPY-komennon käyttäminen tietojen tuomiseen

Jos haluat kopioida tiedot lähdetiedostasi tietotaulukkoon, suorita seuraava komento:

     KOPIO tweets. koulutus s3: // MY_BUCKET / koulutus. 1600000. prosessoidaan. noemoticon. csv. gz'kirjautumistiedot "aws_access_key_id = MY_ACCESS_KEY; aws_secret_access_key = MY_SECRET_KEY"CSV GZIP ACCEPTINVCHARS    

Tämä komento lataa CSV-tiedoston ja tuo tiedot meidän tweeteihin. koulutus taulukko.

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

Komentoparametri Määritelmät

CSV : Mahdollistaa CSV-muodon käytön syöttötiedoissa.

DELIMITER : Määrittää yhden ASCII-merkin, jota käytetään erottamaan kentät syöttötiedostoon, kuten putkimerkki (|), pilkku (,) tai välilehti (\ t).

GZIP : Arvo, joka määrittää, että tulotiedosto tai -tiedostot ovat pakatussa gzip-muodossa (.gz-tiedostot). COPY-toiminto lukee jokaisen pakatun tiedoston ja purkaa datan sen lataamisen aikana.

ACCEPTINVCHARS : Mahdollistaa tietojen lataamisen VARCHAR-sarakkeisiin, vaikka tiedot sisältävät virheellisiä UTF-8-merkkejä. Kun ACCEPTINVCHARS on määritetty, COPY korvaa jokainen virheellinen UTF-8-merkki, jonka pituus on yhtä suuri kuin merkki replaced_char . Jos korvaava merkki on esimerkiksi " ^ ", virheellinen kolmen tavun merkki korvataan nimellä " ^^^ ".

Korvaava merkki voi olla mikä tahansa ASCII-merkki, paitsi NULL. Oletusarvo on kysymysmerkki (?). Lisätietoja virheellisistä UTF-8-merkkeistä on kohdassa Multibyte Character Load Errors.

KOPIO palauttaa rivien määrän, joka sisälsi virheellisiä UTF-8-merkkejä, ja se lisää STL_REPLACEMENTS-järjestelmätaulukkoon jokaisen rivin osalta enintään 100 riviä jokaiselle solmun viipaleelle. Korvaamattomia UTF-8-merkkejä on korvattu, mutta niitä ei korvata.

Jos ACCEPTINVCHARS: ää ei ole määritetty, COPY palauttaa virheen, kun se havaitsee virheellisen UTF-8-merkin.

ACCEPTINVCHARS on voimassa ainoastaan ​​VARCHAR-sarakkeille.

Lisätietoja saat Redshift Copy -parametrien ja datamuodon avulla.

Tuontiedostojen käyttö

Hylkää COPY-prosessiesi päättynyt, suorita SELECT-kysely nähdäksesi, onko kaikki tuotu oikein:

     VALITSE * FROM tweets. harjoittelu LIMIT 200;    

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

Vianmääritys

Jos saat virheen suoritettaessa COPY-komentoa, voit tarkistaa Semalt-lokit suorittamalla seuraavat:

     VALITSE * FROM stl_load_errors;    

Voit ladata TeamSQL ilmaiseksi.

March 1, 2018