Što je AWS Kinesis?

Kinesis je platforma koja pomaže u prikupljanju, obradi i analiziranju streaminga podataka u Amazon Web Services. Podaci strujanja su velika količina podataka koji se stvaraju iz različitih izvora, poput društvenih medija, IoT senzora, vremenske prognoze, zdravstvene zaštite itd. Oni se koriste u izradi aplikacija na temelju zahtjeva korisnika. Neke od uobičajenih aplikacija uključuju prediktivnu analitiku u velikim podacima, strojno učenje itd. U ovoj ćemo temi upoznati AWS Kinesis.

AWS Kinesis Services

Prije nego što prijeđemo na usluge, razmotrimo najprije neke terminologije koje se koriste u Kinesisu.

Terminologija

Termindefinicija
Zapis podatakaPodatkovna jedinica pohranjena u podatkovnom toku Kinesis. Sastoji se od blok podataka, redoslijednog broja i ključa particije
KrhotinaSkup slijeda zapisa podataka. Broj komada može se povećati ili smanjiti ako se povećava brzina prijenosa podataka.
Razdoblje zadržavanjaVremensko razdoblje u kojem se podacima može pristupiti nakon što su dodani u tok.

Zadano zadržavanje: 24 sata

ProizvođačUnosi zapise podataka u Kinesis Stream
PotrošačDobija zapise iz Kinesis Stream-a i obrađuje ih.

Kinesis pruža 3 osnovne usluge. Oni su:

1. Kineski tokovi

Kinesis stream sastoji se od niza niza zapisa podataka poznati kao Shards. Ovi Shards imaju fiksni kapacitet koji može osigurati maksimalnu brzinu čitanja od 2 MB / sekundi i brzinu pisanja od 1 MB / sekundi. Maksimalni kapacitet struje zbroj je kapaciteta svakog dijela.

Rad Kinesis:

  • Podaci koje proizvodi IoT i drugi izvori koji su poznati kao Proizvođači unose se u Kinesis potoke za pohranu u Shards.
  • Ti će podaci biti dostupni u Shardu najviše 24 sata.
  • Ako ga treba pohraniti dulje od ovog zadanog vremena, korisnik može povećati razdoblje zadržavanja od 7 dana.
  • Nakon što podaci stignu do Shards-a, EC2 instance mogu te podatke koristiti u različite svrhe.
  • Primjeri EC2 koji dohvaćaju podatke poznati su kao Potrošači.
  • Nakon obrade podataka, on se šalje u jednu od Amazonskih web usluga kao što su Simple Storage Service (S3), DynamoDB, Redshift itd.

2. Kinesis Firehose

Kinesis Firehose korisna je za prenošenje podataka na Amazonove web usluge kao što su Redshift, Simple storage storage, Elastic Search itd. Dio je to platforme za strujanje koja ne upravlja nikakvim resursima. Proizvođači podataka konfigurirani su tako da se podaci moraju poslati Kinesis Firehose i on ih automatski šalje na odgovarajuće odredište.

Rad Kinesis Firehose:

  • Kao što je spomenuto u radu AWS Kinesis Streams, Kinesis Firehose također dobiva podatke proizvođača kao što su mobilni telefoni, prijenosna računala, EC2, itd. No, to ne mora uzimati podatke u komadiće ili povećavati razdoblja zadržavanja poput Kinesis Streams. To je zato što Kinesis Firehose to radi automatski.
  • Podaci se zatim automatski analiziraju i šalju u uslugu Simple Storage Service
  • Budući da ne postoji razdoblje zadržavanja, podaci se moraju analizirati ili poslati u bilo kakvu pohranu, ovisno o zahtjevu korisnika.
  • Ako se podaci moraju poslati Redshift-u, prvo ih treba premjestiti u Simple Storage Service i treba ih kopirati od Redshift-a.
  • No, u slučaju elastičnog pretraživanja, podaci se mogu izravno unijeti u njega slično usluzi Simple Storage Service.

3. Kinesis Analytics

Kinesis Firehose omogućava pokretanje SQL upita u podacima koji su prisutni u Kinesis Firehose. Pomoću ovih SQL upita podaci se mogu pohraniti u Redshift, Simple Storage Service, ElasticSearch itd.

AWS Kinesis Architecture

AWS Kinesis Architecture sastoji se od

  • proizvođači
  • krhotine
  • potrošači
  • skladištenje

Slično kao što je opisano u AWS Kinesis Data Streamu, podaci proizvođača se unose u Shards gdje se podaci obrađuju i analiziraju. Analizirani podaci premještaju se u EC2 instance za izvođenje određenih aplikacija. Konačno, podaci će biti pohranjeni u bilo kojoj od Amazonskih web usluga kao što su S3, Redshift itd.

Kako koristiti AWS kinesis?

Da biste radili sa AWS Kinesis, potrebno je obaviti sljedeća dva koraka.

1. Instalirajte AWS sučelje naredbenog retka (CLI).

Instaliranje sučelja naredbene linije je različito za različite operativne sustave. Dakle, instalirajte CLI na temelju vašeg operativnog sustava.

Za korisnike Linuxa koristite naredbu sudo pip install AWS CLI

Obavezno posjedujte verziju pythona 2.6.5 ili noviju. Nakon preuzimanja konfigurirajte ga pomoću naredbe AWS configure. Zatim će biti upitani sljedeći detalji kao što je prikazano u nastavku.

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

Za korisnike sustava Windows preuzmite odgovarajući MSI Installer i pokrenite ga.

2. Izvodite Kinesis operacije koristeći CLI

Imajte na umu da protoci podataka Kinesis nisu dostupni za AWS besplatni nivo. Dakle, kreirani Kinesis tokovi će se naplatiti.

Pogledajmo sada neke kinezijske operacije u CLI-u.

  • Stvorite stream

Napravite stream KStream s brojem Shard 2 koristeći sljedeću naredbu.

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

Provjerite je li stream stvoren.

aws kinesis describe-stream --stream-name KStream

Ako se stvori, pojavit će se rezultat sličan sljedećem primjeru.

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

  • Stavite zapis

Sada se zapis podataka može umetnuti pomoću naredbe put-record. Ovdje se u tok ubacuje zapis koji sadrži test podataka.

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

Ako je umetanje uspješno, izlaz će biti prikazan kao što je prikazano u nastavku.

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

  • Preuzmi zapis

Prvo, korisnik mora nabaviti iterator ombre koji predstavlja položaj struje za sjekiru.

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

Zatim pokrenite naredbu pomoću dobivenog iteratora ombre.

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

Dobivat će se uzorak kao što je prikazano u nastavku.

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

  • Počistiti

Da biste izbjegli troškove, stvoreni stream možete izbrisati pomoću naredbe u nastavku.

aws kinesis delete-stream --stream-name KStream

Zaključak

AWS Kinesis je platforma koja prikuplja, obrađuje i analizira streaming podataka za nekoliko aplikacija poput strojnog učenja, prediktivne analize i tako dalje. Podaci za strujanje mogu biti u bilo kojem formatu, poput audio, video zapisa, podataka senzora itd.

Preporučeni članci

Ovo je vodič za AWS Kinesis. Ovdje smo raspravljali o tome kako koristiti AWS Kinesis, kao i njegovu uslugu s radom i arhitekturom. Možete pogledati i sljedeći članak da biste saznali više -

  1. AWS Arhitektura
  2. Što je AWS Lambda?
  3. Tehnologije velikih podataka
  4. Arhitektura podataka
  5. AWS usluge skladištenja
  6. Vodič za natjecatelje AWS sa značajkama

Kategorija: