Čo je to AWS Kinesis?
Kinesis je platforma, ktorá pomáha pri zhromažďovaní, spracovaní a analýze streamovaných údajov v Amazon Web Services. Streamovanie údajov je veľké množstvo údajov, ktoré vznikajú z rôznych zdrojov, ako sú sociálne médiá, IoT senzory, predpoveď počasia, zdravotníctvo atď. Tieto údaje sa používajú pri vytváraní aplikácií na základe požiadaviek používateľa. Medzi bežné aplikácie patrí prediktívna analytika v oblasti veľkých dát, strojové učenie atď. V tejto téme sa dozvieme viac o AWS Kinesis.
Služby AWS Kinesis
Predtým, ako sa presunieme k službám, najprv pochopme niektoré terminológie používané v kineščine.
terminológie
termín | definícia |
Záznam údajov | Údajová jednotka uložená v dátovom toku Kinesis. Skladá sa z blokov údajov, poradového čísla a kľúča oddielu |
črep | Sada postupnosti dátových záznamov. Ak sa zvýši rýchlosť prenosu údajov, môže sa zvýšiť alebo znížiť počet zlomkov. |
Doba skladovania | Časové obdobie, v ktorom je možné získať prístup k údajom po ich pridaní do toku.
Predvolená doba uchovávania: 24 hodín |
producent | Zaznamenáva dátové záznamy do Kinesis Stream |
Spotrebiteľ | Získava záznamy z Kinesis Stream a spracováva ich. |
Kinesis poskytuje 3 základné služby. Oni sú:
1. Kinesis Streams
Kinesis Stream pozostáva zo súboru sekvencií dátových záznamov známych ako Shards. Tieto črepy majú pevnú kapacitu, ktorá môže poskytnúť maximálnu rýchlosť čítania 2 MB / s a rýchlosť zápisu 1 MB / s. Maximálna kapacita toku je súčet kapacity každého črepu.
Práca v Kinesis:
- Údaje produkované IoT a ďalšie zdroje, ktoré sú známe ako Producenti, sa privádzajú do tokov Kinesis na uchovávanie v Shards.
- Tieto údaje budú v službe Shard k dispozícii maximálne 24 hodín.
- Ak je potrebné ho uložiť dlhšie ako tento predvolený čas, môže používateľ zvýšiť dobu uchovávania na 7 dní.
- Akonáhle sa údaje dostanú k úlomkom, inštancie EC2 môžu tieto údaje zobrať na rôzne účely.
- Prípady EC2, ktoré získavajú údaje, sú známe ako zákazníci.
- Po spracovaní údajov sa privádza do jednej z Amazon Web Services, ako sú Simple Storage Service (S3), DynamoDB, Redshift atď.
2. Kinesis Firehose
Kinesis Firehose je užitočný pri presúvaní údajov do webových služieb Amazonu, ako sú Redshift, Simple storage service, Elastic Search, atď. Je súčasťou streamovacej platformy, ktorá nespravuje žiadne zdroje. Výrobcovia údajov sú nakonfigurovaní tak, že údaje sa musia odosielať do Kinesis Firehose a potom ich automaticky odosiela do príslušného cieľa.
Práca Kinesis Firehose:
- Ako je uvedené v práci AWS Kinesis Streams, Kinesis Firehose tiež získava údaje od výrobcov, ako sú mobilné telefóny, notebooky, EC2 atď. Nemusí to však brať dáta do střepov alebo predlžovať doby uchovávania, ako sú Kinesis Streams. Je to preto, že Kinesis Firehose to robí automaticky.
- Dáta sa potom analyzujú automaticky a dodávajú sa do služby Simple Storage Service
- Pretože neexistuje žiadna doba uchovávania, údaje sa musia buď analyzovať, alebo odoslať do akéhokoľvek úložiska, závisí od požiadavky používateľa.
- Ak sa údaje musia posielať do služby Redshift, musia sa najprv presunúť do služby Simple Storage Service a odtiaľ ich treba skopírovať do služby Redshift.
- V prípade pružného vyhľadávania je však možné do údajov priamo vložiť údaje podobné službe Simple Storage Service.
3. Analýza Kinesis
Kinesis Firehose umožňuje spúšťať dotazy SQL v údajoch, ktoré sa nachádzajú v Kinesis Firehose. Pomocou týchto dotazov SQL je možné údaje ukladať v službách Redshift, Simple Storage Service, ElasticSearch atď.
AWS Kinesis Architecture
AWS Kinesis Architecture pozostáva z
- výrobcovia
- črepy
- spotrebitelia
- skladovanie
Podobne ako práca vysvetlená v AWS Kinesis Data Stream, údaje od výrobcov sa vkladajú do Shards, kde sa údaje spracúvajú a analyzujú. Analyzované údaje sa potom presunú do inštancií EC2 na vykonávanie určitých aplikácií. Nakoniec budú údaje uložené v ktorejkoľvek z webových služieb Amazonu, ako sú S3, Redshift atď.
Ako používať AWS kinesis?
Aby ste mohli pracovať s AWS Kinesis, musíte urobiť nasledujúce dva kroky.
1. Nainštalujte rozhranie príkazového riadku AWS (CLI).
Inštalácia rozhrania príkazového riadku je pre rôzne operačné systémy iná. Nainštalujte CLI na základe operačného systému.
Pre používateľov systému Linux použite príkaz sudo pip install AWS CLI
Uistite sa, že máte verziu python 2.6.5 alebo vyššiu. Po stiahnutí ho nakonfigurujte pomocou príkazu AWS configure. Potom sa opýtame na nasledujúce podrobnosti, ako je uvedené nižšie.
AWS Access Key ID (None): #########################
AWS Secret Access Key (None): #########################
Default region name (None): ##################
Default output format (None): ###########
Pre používateľov Windows si stiahnite príslušný MSI Installer a spustite ho.
2. Vykonajte operácie Kinesis pomocou CLI
Upozorňujeme, že dátové toky Kinesis nie sú dostupné pre úroveň AWS zadarmo. Za vzniknuté toky Kinesis sa teda bude účtovať poplatok.
Teraz sa pozrime na niektoré operácie kinesis v CLI.
- Vytvoriť stream
Pomocou nasledujúceho príkazu vytvorte tok KStream pomocou Shard count 2.
aws kinesis create-stream --stream-name KStream --shard-count 2
Skontrolujte, či sa stream vytvoril.
aws kinesis describe-stream --stream-name KStream
Ak sa vytvorí, zobrazí sa výstup podobný nasledujúcemu príkladu.
(
"StreamDescription": (
"StreamStatus": "ACTIVE",
"StreamName": " KStream ",
"StreamARN": ####################,
"Shards": (
(
"ShardId": #################,
"HashKeyRange": (
"EndingHashKey": ###################,
"StartingHashKey": "0"
),
"SequenceNumberRange": (
"StartingSequenceNumber": "###################"
)
)
) )
)
- Dajte záznam
Teraz je možné vložiť dátový záznam pomocou príkazu put-record. Tu sa do toku vkladá záznam obsahujúci test údajov.
aws kinesis put-record --stream-name KStream --partition-key 456 --data test
Ak je vloženie úspešné, výstup sa zobrazí, ako je uvedené nižšie.
(
"ShardId": "#############",
"SequenceNumber": "##################"
)
- Získajte záznam
Najprv musí užívateľ získať iterátor shard, ktorý predstavuje polohu toku pre shard.
aws kinesis get-shard-iterator --shard-id shardId-########## --shard-iterator-type TRIM_HORIZON --stream-name KStream
Potom spustite príkaz pomocou získaného iterátora shard.
aws kinesis get-records --shard-iterator ###########
Výstup vzorky sa získa tak, ako je to znázornené nižšie.
(
"Records":( (
"Data":"######",
"PartitionKey":"456”,
"ApproximateArrivalTimestamp": 1.441215410867E9,
"SequenceNumber":"##########"
) ),
"MillisBehindLatest":24000,
"NextShardIterator":"#######"
)
- Vyčistiť
Aby ste sa vyhli poplatkom, vytvorený tok môžete odstrániť pomocou príkazu nižšie.
aws kinesis delete-stream --stream-name KStream
záver
AWS Kinesis je platforma, ktorá zhromažďuje, spracováva a analyzuje streamované údaje pre niekoľko aplikácií, ako je strojové učenie, prediktívna analýza a tak ďalej. Streamované údaje môžu mať akýkoľvek formát, napríklad zvuk, video, údaje zo senzorov atď.
Odporúčané články
Toto je sprievodca AWS Kinesis. Tu diskutujeme o tom, ako používať AWS Kinesis a tiež jeho službu s prácou a architektúrou. Viac informácií nájdete aj v nasledujúcom článku -
- Architektúra AWS
- Čo je AWS Lambda?
- Veľké dátové technológie
- Architektúra dolovania dát
- AWS Storage Services
- Sprievodca konkurenciou AWS s funkciami