Mis on AWS Kinesis?

Kinesis on platvorm, mis aitab voogesituse andmete kogumisel, töötlemisel ja analüüsimisel Amazon Web Services'is. Voogesituse andmed on suur hulk andmeid, mis saadakse erinevatest allikatest, näiteks sotsiaalmeedia, Interneti-andurid, ilmateade, tervishoid jne. Neid kasutatakse kasutaja nõudmistel põhinevate rakenduste ehitamisel. Mõned levinumad rakendused hõlmavad ennustavat analüütikat suurandmetes, masinõppes jne. Selles teemas tutvume AWS Kinesisega.

AWS Kinesise teenused

Enne teenuste juurde siirdumist mõelgem kõigepealt mõnda Kinesises kasutatud terminoloogiat.

Terminoloogia

TähtaegDefinitsioon
AndmekirjeKinesise andmevoogu salvestatud andmeüksus. See koosneb andmeplokist, järjenumbrist ja jaotusvõtmest
ShardAndmekirjete jada komplekt. Killude arvu saab suurendada või vähendada, kui andmeedastuskiirust suurendatakse.
SäilitusperioodAjavahemik, mille jooksul andmetele pärast voogu lisamist on juurde pääseda.

Vaikehooldusperiood: 24 tundi

LavastajaSee lisab andmekirjed Kinesis Streami
TarbijaSee saab Kinesis Streami kirjeid ja töötleb neid.

Kinesis pakub 3 põhiteenust. Nemad on:

1. Kinesise ojad

Kinesis Stream koosneb andmerekordite jadadest, mida nimetatakse Shardsiks. Nendel ühikutes on kindel maht, mis võimaldab maksimaalset lugemiskiirust 2 MB / sekundis ja kirjutamiskiirust 1 MB / sekundis. Voo maksimaalne maht on iga kihi mahu summa.

Kinesise töö:

  • IoT ja muude tootjatena tuntud allikate kogutud andmed sisestatakse Kinesise ojadesse Shardsis talletamiseks.
  • Need andmed on Shardis saadaval maksimaalselt 24 tundi.
  • Kui seda tuleb säilitada kauem kui see vaikimisi kulunud aeg, võib kasutaja pikendada selle säilitamise perioodi 7 päevani.
  • Kui andmed jõuavad Shardsisse, saavad EC2 eksemplarid neid andmeid erinevatel eesmärkidel kasutada.
  • EC2 eksemplare, mis hangivad andmeid, nimetatakse tarbijaks.
  • Pärast andmete töötlemist suunatakse see ühte Amazoni veebiteenusesse, näiteks lihtsasse ladustamisteenusesse (S3), DynamoDB, Redshift jne.

2. Kinesis Firehose

Kinesis Firehose on abiks andmete teisaldamisel Amazoni veebiteenustesse, nagu Redshift, Lihtne salvestusteenus, Elastne otsing jne. See on osa voogesituse platvormist, mis ei halda mingeid ressursse. Andmete tootjad on konfigureeritud nii, et andmed tuleb saata Kinesis Firehose'ile ja see saadab need automaatselt vastavasse sihtkohta.

Kinesis Firehose töö:

  • Nagu AWS Kinesis Streams töös mainitud, saab Kinesis Firehose andmeid ka tootjatelt, näiteks mobiiltelefonidelt, sülearvutitelt, EC2 jne. Kuid see ei pea andmeid viima kilpidesse ega suurendama säilitusperioode nagu Kinesis Streams. Põhjus on see, et Kinesis Firehose teeb seda automaatselt.
  • Seejärel analüüsitakse andmeid automaatselt ja sisestatakse Simple Storage Service'i
  • Kuna säilitusaega pole, tuleb andmeid kas analüüsida või igasse salvestusse saata, sõltuvalt kasutaja soovist.
  • Kui andmed tuleb saata Redshifti, tuleb need kõigepealt teisaldada lihtsasse mäluteenindusse ja sealt kopeerida Redshifti.
  • Kuid elastse otsingu korral saab sellesse andmeid otse sisestada sarnaselt lihtsa salvestusteenusega.

3. Kinesis Analytics

Kinesis Firehose lubab käivitada SQL-päringuid Kinesis Firehose-is sisalduvates andmetes. Seda SQL päringut kasutades saab andmeid salvestada kaustadesse Redshift, Simple Storage Service, ElasticSearch jne.

AWS Kinesise arhitektuur

AWS Kinesis Architecture koosneb

  • Lavastajad
  • Shards
  • Tarbijad
  • Ladustamine

Sarnaselt AWS Kinesise andmevoogudes selgitatule edastatakse tootjate andmed Shards-i, kus andmeid töödeldakse ja analüüsitakse. Seejärel teisaldatakse analüüsitud andmed EC2 eksemplaridesse teatud rakenduste täitmiseks. Lõpuks salvestatakse andmed ükskõik millisesse Amazoni veebiteenusesse, näiteks S3, Redshift jne.

Kuidas kasutada AWS kinesiisi?

AWS Kinesisega töötamiseks tuleb teha kaks järgmist sammu.

1. Installige AWS-i käsurea liides (CLI).

Käsurea liidese installimine on eri opsüsteemides erinev. Nii et installige CLI vastavalt teie opsüsteemile.

Linuxi kasutajate jaoks kasutage käsku sudo pip install AWS CLI

Veenduge, et teil oleks python versioon 2.6.5 või uuem. Pärast allalaadimist konfigureerige see käsku AWS configure abil. Seejärel küsitakse järgmisi üksikasju, nagu allpool näidatud.

AWS Access Key ID (None): #########################
AWS Secret Access Key (None): #########################
Default region name (None): ##################
Default output format (None): ###########

Windowsi kasutajatele laadige alla sobiv MSI Installer ja käivitage see.

2. Tehke Kinesise toimingud CLI abil

Pange tähele, et Kinesise andmevood pole AWS-i vabade astmete jaoks saadaval. Niisiis võetakse loodud Kinesise voogude eest tasu.

Vaatame nüüd CLI-s mõnda kineesi toimingut.

  • Loo voog

Looge KStream voog Shard count 2 abil, kasutades järgmist käsku.

aws kinesis create-stream --stream-name KStream --shard-count 2

Kontrollige, kas voog on loodud.

aws kinesis describe-stream --stream-name KStream

Kui see luuakse, ilmub järgmise näitega sarnane väljund.

(
"StreamDescription": (
"StreamStatus": "ACTIVE",
"StreamName": " KStream ",
"StreamARN": ####################,
"Shards": (
(
"ShardId": #################,
"HashKeyRange": (
"EndingHashKey": ###################,
"StartingHashKey": "0"
),
"SequenceNumberRange": (
"StartingSequenceNumber": "###################"
)
)
) )
)

  • Pange rekord

Nüüd saab andmekirje sisestada käsu put-record abil. Siin sisestatakse voogu andmetestit sisaldav kirje.

aws kinesis put-record --stream-name KStream --partition-key 456 --data test

Kui sisestamine õnnestub, kuvatakse väljund allpool näidatud viisil.

(
"ShardId": "#############",
"SequenceNumber": "##################"
)

  • Hangi rekord

Esiteks peab kasutaja hankima shard iteraatori, mis tähistab shardi voo asukohta.

aws kinesis get-shard-iterator --shard-id shardId-########## --shard-iterator-type TRIM_HORIZON --stream-name KStream

Seejärel käivitage käsk saadud shard iteraatori abil.

aws kinesis get-records --shard-iterator ###########

Prooviväljund saadakse järgmiselt.

(
"Records":( (
"Data":"######",
"PartitionKey":"456”,
"ApproximateArrivalTimestamp": 1.441215410867E9,
"SequenceNumber":"##########"
) ),
"MillisBehindLatest":24000,
"NextShardIterator":"#######"
)

  • Korista ära

Tasude vältimiseks saab loodud voo alltoodud käsu abil kustutada.

aws kinesis delete-stream --stream-name KStream

Järeldus

AWS Kinesis on platvorm, mis kogub, töötleb ja analüüsib voogesituse andmeid mitme rakenduse jaoks, näiteks masinõpe, ennustav analüüs ja nii edasi. Voogesituse andmed võivad olla mis tahes vormingus, näiteks heli, video, andurite andmed jne.

Soovitatavad artiklid

See on AWS Kinesise juhend. Siin arutatakse, kuidas kasutada AWS Kinesist ja ka selle teenust koos töötamise ja arhitektuuriga. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. AWS-i arhitektuur
  2. Mis on AWS Lambda?
  3. Suurandmete tehnoloogiad
  4. Andmekaevandamise arhitektuur
  5. AWS-i salvestusteenused
  6. Juhend funktsioonidega AWS-i võistlejatele

Kategooria: