Hva er AWS Kinesis?

Kinesis er en plattform som hjelper deg med å samle inn, behandle og analysere streamingdata i Amazon Web Services. Streaming av data er en stor mengde data som gyter fra forskjellige kilder, for eksempel sosiale medier, IoT-sensorer, værmelding, helsevesen, etc. Disse brukes til å bygge applikasjoner basert på brukerens krav. Noen av de vanlige applikasjonene inkluderer prediktiv analyse i Big Data, Machine Learning, etc. I dette emnet skal vi lære om AWS Kinesis.

AWS Kinesis Services

La oss først forstå noen terminologier som brukes i Kinesis før vi går over til tjenestene.

Terminologi

BegrepDefinisjon
DataregistreringDatagenhet lagret i datastrømmen til Kinesis. Den består av dataklatt, sekvensnummer og en partisjonstast
ShardSett med sekvensen med dataposter. Antall skjær kan økes eller reduseres hvis datahastigheten økes.
OppbevaringsperiodeTidsperioden hvor dataene kan nås etter at de er lagt til strømmen.

Standard oppbevaringsperiode: 24 timer

ProdusentDen fører dataoppføringer i Kinesis Stream
forbruker~~POS=TRUNCDen får poster fra Kinesis Stream og behandler dem.

Kinesis tilbyr 3 kjernetjenester. De er:

1. Kinesis Streams

Kinesis Stream består av et sett med sekvenser med dataposter kjent som Shards. Disse skårene har en fast kapasitet som kan gi en maksimal lesehastighet på 2 MB / sekund og skrivehastighet på 1 MB / sekund. Den maksimale kapasiteten til en bekk er summen av kapasiteten til hvert skjær.

Working of Kinesis:

  • Data produsert av IoT og andre kilder som er kjent som Produsenter blir matet inn i Kinesis Streams for lagring i Shards.
  • Disse dataene vil være tilgjengelige i Shard i maksimalt 24 timer.
  • Hvis det må lagres i mer enn denne standardtiden, kan brukeren øke til en oppbevaringsperiode på 7 dager.
  • Når dataene når Shards, kan EC2-forekomster ta disse dataene til forskjellige formål.
  • EC2-forekomster som henter data, kalles forbrukere.
  • Etter behandlingen av data blir det matet inn i en av Amazon Web Services som Simple Storage Service (S3), DynamoDB, Redshift, etc.

2. Kinesis brannslange

Kinesis Firehose hjelper deg med å flytte data til Amazon-webtjenester som Redshift, Enkel lagringstjeneste, Elastic Search, etc. Det er en del av streamingplattformen som ikke administrerer noen ressurser. Dataprodusenter er konfigurert slik at data må sendes til Kinesis Firehose, og den blir deretter automatisk sendt til den tilsvarende destinasjonen.

Working of Kinesis Firehose:

  • Som nevnt i arbeidet med AWS Kinesis Streams, får Kinesis Firehose også data fra produsenter som mobiltelefoner, bærbare datamaskiner, EC2, etc. Men dette trenger ikke å ta data i skjær eller øke oppbevaringsperioder som Kinesis Streams. Det er fordi Kinesis Firehose gjør det automatisk.
  • Dataene analyseres deretter automatisk og mates inn i Simple Storage Service
  • Siden det ikke er noen oppbevaringsperiode, må data enten analyseres eller sendes til lagring avhengig av brukerens krav.
  • Hvis data må sendes til Redshift, må den først flyttes til Simple Storage Service og må kopieres til Redshift derfra.
  • Men når det gjelder Elastic Search, kan data mates direkte inn i dem som ligner på Simple Storage Service.

3. Kinesis Analytics

Kinesis Firehose tillater å kjøre SQL-spørringene i dataene som er til stede i Kinesis Firehose. Ved hjelp av disse SQL-spørsmålene kan data lagres i Redshift, Simple Storage Service, ElasticSearch, etc.

AWS Kinesis Architecture

AWS Kinesis Architecture består av

  • produsentene
  • shards
  • forbrukere
  • Oppbevaring

I likhet med arbeidet som er forklart i AWS Kinesis Data Stream, blir data fra produsenter matet inn i Shards der data blir behandlet og analysert. De analyserte dataene blir deretter flyttet til EC2-forekomster for å utføre visse applikasjoner. Endelig vil data lagres i noen av Amazonas webtjenester som S3, Redshift, etc.

Hvordan bruker AWS kinesis?

Følgende to trinn må gjøres for å jobbe med AWS Kinesis.

1. Installer AWS Command Line Interface (CLI).

Installering av kommandolinjegrensesnittet er forskjellig for forskjellige operativsystemer. Så installer CLI basert på operativsystemet ditt.

For Linux-brukere bruker du kommandoen sudo pip install AWS CLI

Forsikre deg om at du har en python versjon 2.6.5 eller nyere. Etter nedlasting, konfigurer den med AWS-konfigurasjonskommandoen. Deretter blir følgende detaljer spurt som vist nedenfor.

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

For Windows-brukere, last ned den aktuelle MSI Installer og kjør den.

2. Utfør Kinesis-operasjoner ved å bruke CLI

Vær oppmerksom på at Kinesis datastrømmer ikke er tilgjengelige i AWS-gratis lagre. Så Kinesis-strømmer som er opprettet blir belastet.

La oss nå se noen kinesisoperasjoner i CLI.

  • Lag strøm

Opprett en strøm KStream med Shard count 2 ved hjelp av følgende kommando.

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

Sjekk om strømmen har opprettet.

aws kinesis describe-stream --stream-name KStream

Hvis det opprettes, vil en utgang som ligner på følgende eksempel ha dukket opp.

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

  • Sett rekord

Nå kan en datapost settes inn ved hjelp av put-record kommando. Her blir en post som inneholder en datatest satt inn i strømmen.

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

Hvis innsatsen er vellykket, vil utdataene vises som vist nedenfor.

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

  • Få post

Først må brukeren få taket til skardeteratoren som representerer posisjonen til strømmen for skjæret.

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

Deretter kjører du kommandoen ved å bruke den oppnådde skardeteratoren.

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

En prøveutgang blir oppnådd som vist nedenfor.

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

  • Rydde opp

For å unngå kostnader kan den opprettede strømmen slettes ved å bruke kommandoen nedenfor.

aws kinesis delete-stream --stream-name KStream

Konklusjon

AWS Kinesis er en plattform som samler inn, behandler og analyserer strømningsdata for flere applikasjoner som maskinlæring, prediktiv analyse og så videre. Streaming av data kan være av et hvilket som helst format som lyd, video, sensordata, etc.

Anbefalte artikler

Dette er en guide til AWS Kinesis. Her diskuterer vi hvordan du bruker AWS Kinesis og også dens Service med arbeid og arkitektur. Du kan også se på følgende artikkel for å lære mer -

  1. AWS Arkitektur
  2. Hva er AWS Lambda?
  3. Big Data Technologies
  4. Data Mining Architecture
  5. AWS Storage Services
  6. Guide til konkurrenter av AWS med funksjoner

Kategori: