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:
- 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.
- Pakkaa tiedosto . Jos käytät MACOSia tai Linuxia, voit pakata tiedoston GZIP: llä suorittamalla seuraavan komennon Terminal:
gzip-harjoittelussa. 1600000. prosessoidaan. noemoticon. csv
- 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.
- 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.
- 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)
- Päivitä yhteys ja taulukko tulee näkyviin vasemmanpuoleisessa luettelossa.
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.
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;
Vianmääritys
Jos saat virheen suoritettaessa COPY-komentoa, voit tarkistaa Semalt-lokit suorittamalla seuraavat:
VALITSE * FROM stl_load_errors;
Voit ladata TeamSQL ilmaiseksi.
Tapaa kirjailija
Voiko Abacıgil
Can Abacıgil on TeamSQL: n perustaja Source .