Mikä on AWS Kinesis?
Kinesis on alusta, joka auttaa virtaustietojen keräämisessä, käsittelyssä ja analysoinnissa Amazon Web Services -palvelussa. Suoratoistodata on suuri määrä tietoa, joka saadaan eri lähteistä, kuten sosiaalisesta mediasta, IoT-antureista, sääennusteesta, terveydenhuollosta jne. Niitä käytetään rakentamaan sovelluksia käyttäjän vaatimusten perusteella. Joitakin yleisimpiä sovelluksia ovat ennustava analytiikka Big Data -yrityksessä, koneoppimisessa jne. Tässä aiheesta aiomme oppia AWS Kinesis -sovelluksesta.
AWS Kinesis Services
Ennen palveluihin siirtymistä ymmärretään ensin joitain Kinesisissä käytettyjä termejä.
Terminologia
Termi | Määritelmä |
Tietue | Kinesis-tietovirtaan tallennettu tietoyksikkö. Se koostuu datablobista, järjestysnumerosta ja osioavaimesta |
Sirpale | Joukko tietotietueiden sekvenssiä. Lastujen lukumäärää voidaan lisätä tai vähentää, jos datanopeutta lisätään. |
Säilytysaika | Aikajakso, jonka aikana tietoja voidaan käyttää sen jälkeen, kun ne on lisätty virtaan.
Oletuspidätysjakso: 24 tuntia |
Tuottaja | Se syöttää tietueita Kinesis Streamiin |
kuluttaja | Se saa tietueita Kinesis Streamista ja käsittelee ne. |
Kinesis tarjoaa 3 ydinpalvelua. He ovat:
1. Kinesis-virrat
Kinesis Stream koostuu sarjasta datatietueiden sekvenssejä, jotka tunnetaan nimellä Shards. Näillä Shards-laitteilla on kiinteä kapasiteetti, joka pystyy tarjoamaan korkeimman lukunopeuden 2 Mt / s ja kirjoitusnopeuden 1 Mt / s. Virran maksimikapasiteetti on kunkin varjostimen kapasiteetin summa.
Kinesiksen toiminta:
- IoT: n ja muiden tuottajaksi kutsuttujen lähteiden tuottama tieto syötetään Kinesis-virroihin varastointia varten Shardsissa.
- Tiedot ovat saatavilla Shardissa enintään 24 tunnin ajan.
- Jos se on tallennettava pidempään kuin tämä oletusaika, käyttäjä voi pidentää seitsemän päivän säilytysjaksoon.
- Kun tiedot saavuttavat Shardsin, EC2-ilmentymät voivat ottaa nämä tiedot eri tarkoituksiin.
- EC2-tapauksia, jotka noutavat tietoja, kutsutaan kuluttajiksi.
- Tietojen käsittelyn jälkeen se syötetään johonkin Amazon-verkkopalveluista, kuten yksinkertainen tallennuspalvelu (S3), DynamoDB, Redshift jne.
2. Kinesis Firehose
Kinesis Firehose on hyödyllinen siirrettäessä tietoja Amazonin verkkopalveluihin, kuten Redshift, Yksinkertainen tallennuspalvelu, Elastinen haku jne. Se on osa streaming-alustaa, joka ei hallitse resursseja. Tiedontuottajat on konfiguroitu siten, että tiedot on lähetettävä Kinesis Firehose -laitteelle ja se lähettää sen sitten automaattisesti vastaavaan määränpäähän.
Kinesis Firehose -laitteen toiminta:
- Kuten AWS Kinesis Streams -työryhmän työssä mainittiin, Kinesis Firehose saa myös tietoja tuottajilta, kuten matkapuhelimilta, kannettavilta tietokoneilta, EC2: ltä jne., Mutta tämän ei tarvitse tehdä tietoja sirpaleisiin tai pidentää säilytysjaksoja, kuten Kinesis Streams. Se johtuu siitä, että Kinesis Firehose tekee sen automaattisesti.
- Tiedot analysoidaan sitten automaattisesti ja syötetään Simple Storage Service -palveluun
- Koska säilytysjaksoa ei ole, tiedot on joko analysoitava tai lähetettävä mihin tahansa varastoon riippuen käyttäjän vaatimuksista.
- Jos tiedot on lähetettävä Redshiftille, ne on ensin siirrettävä Simple Storage Service -palveluun ja kopioitava sieltä Redshift-tietokantaan.
- Mutta joustavan haun tapauksessa tietoja voidaan syöttää suoraan siihen samankaltaisena kuin Simple Storage Service.
3. Kinesis Analytics
Kinesis Firehose sallii SQL-kyselyjen suorittamisen Kinesis Firehose -sovelluksessa olevissa tiedoissa. Tätä SQL-kyselyä käyttämällä tiedot voidaan tallentaa Redshift-, Simple Storage Service-, ElasticSearch-, jne.
AWS Kinesis -arkkitehtuuri
AWS Kinesis -arkkitehtuuri koostuu
- tuottajat
- sirpaleiksi
- kuluttajat
- varastointi
Samoin kuin AWS Kinesis Data Stream -sivustossa selitettiin, tuottajien tiedot syötetään Shardsiin, missä tietoja käsitellään ja analysoidaan. Analysoitu tieto siirretään sitten EC2-ilmentymiin tiettyjen sovellusten suorittamiseksi. Viimeinkin tiedot tallennetaan mihin tahansa Amazonin verkkopalveluihin, kuten S3, Redshift jne.
Kuinka käyttää AWS-kinesistä?
Jotta voit työskennellä AWS Kinesisin kanssa, on suoritettava seuraavat kaksi vaihetta.
1. Asenna AWS-komentoriviliitäntä (CLI).
Komentoriviliittymän asentaminen on erilainen eri käyttöjärjestelmille. Joten asenna CLI käyttöjärjestelmäsi perusteella.
Linux-käyttäjille käytä komentoa sudo pip install AWS CLI
Varmista, että sinulla on python-versio 2.6.5 tai uudempi. Määritä lataamisen jälkeen AWS-asetuskomennolla. Sitten kysytään seuraavia tietoja alla esitetyllä tavalla.
AWS Access Key ID (None): #########################
AWS Secret Access Key (None): #########################
Default region name (None): ##################
Default output format (None): ###########
Windows-käyttäjille Lataa sopiva MSI Installer ja suorita se.
2. Suorita Kinesis-toiminnot CLI: n avulla
Huomaa, että Kinesis-tietovirrat eivät ole käytettävissä AWS: n vapaa-tasolle. Joten luodut Kinesis-virrat veloitetaan.
Katsotaanpa nyt joitain kinesisoperaatioita CLI: ssä.
- Luo stream
Luo stream KStream Shard count 2: lla seuraavan komennon avulla.
aws kinesis create-stream --stream-name KStream --shard-count 2
Tarkista, onko stream luonut.
aws kinesis describe-stream --stream-name KStream
Jos se luodaan, seuraavan esimerkin kaltainen lähtö on ilmestynyt.
(
"StreamDescription": (
"StreamStatus": "ACTIVE",
"StreamName": " KStream ",
"StreamARN": ####################,
"Shards": (
(
"ShardId": #################,
"HashKeyRange": (
"EndingHashKey": ###################,
"StartingHashKey": "0"
),
"SequenceNumberRange": (
"StartingSequenceNumber": "###################"
)
)
) )
)
- Laita levy
Nyt tietotietue voidaan lisätä put-record -komennolla. Tässä virtaan lisätään datatestiä sisältävä tietue.
aws kinesis put-record --stream-name KStream --partition-key 456 --data test
Jos lisäys onnistuu, lähtö näkyy alla olevan kuvan mukaisesti.
(
"ShardId": "#############",
"SequenceNumber": "##################"
)
- Hanki ennätys
Ensin käyttäjän on saatava shard-iteraattori, joka edustaa virran sijaintia shardille.
aws kinesis get-shard-iterator --shard-id shardId-########## --shard-iterator-type TRIM_HORIZON --stream-name KStream
Suorita sitten komento käyttämällä saatua shard-iteraattoria.
aws kinesis get-records --shard-iterator ###########
Näytetuotos saadaan alla olevan kuvan mukaisesti.
(
"Records":( (
"Data":"######",
"PartitionKey":"456”,
"ApproximateArrivalTimestamp": 1.441215410867E9,
"SequenceNumber":"##########"
) ),
"MillisBehindLatest":24000,
"NextShardIterator":"#######"
)
- Siivota
Maksujen välttämiseksi luotu stream voidaan poistaa käyttämällä alla olevaa komentoa.
aws kinesis delete-stream --stream-name KStream
johtopäätös
AWS Kinesis on alusta, joka kerää, käsittelee ja analysoi suoratoistotietoja useille sovelluksille, kuten koneoppiminen, ennustava analytiikka ja niin edelleen. Suoratoistotiedot voivat olla missä tahansa muodossa, kuten ääni-, video-, anturitiedot jne.
Suositellut artikkelit
Tämä on opas AWS Kinesikselle. Tässä keskustellaan siitä, miten AWS Kinesis -sovellusta ja sen palvelua voidaan käyttää työskentelyn ja arkkitehtuurin kanssa. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -
- AWS-arkkitehtuuri
- Mikä on AWS Lambda?
- Big Data Technologies
- Tietojen louhinnan arkkitehtuuri
- AWS-tallennuspalvelut
- Opas AWS: n kilpailijoille ominaisuuksilla