Hvad er AWS Kinesis?

Kinesis er en platform, der hjælper med indsamling, behandling og analyse af streamingdata i Amazon Web Services. Streaming af data er en stor mængde data, der er spawned fra forskellige kilder såsom sociale medier, IoT sensorer, Vejrprognose, Healthcare osv. Disse bruges til at bygge applikationer baseret på brugerens krav. Nogle af de almindelige applikationer inkluderer forudsigelig analyse i Big Data, Machine Learning osv. I dette emne skal vi lære om AWS Kinesis.

AWS Kinesis Services

Lad os først forstå nogle terminologier, der bruges i Kinesis, før vi går til tjenesterne.

Terminologi

SemesterDefinition
DataregistreringDataenhed gemt i datastrømmen i Kinesis. Det består af dataklods, sekvensnummer og en partitionstast
shardSæt med sekvensen af ​​dataposter. Antallet af skår kan øges eller mindskes, hvis datahastigheden øges.
TilbageholdelsesperiodeDen tidsperiode, hvor dataene kan få adgang til, efter at de er føjet til strømmen.

Standard opbevaringsperiode: 24 timer

ProducentDet indlæser dataposter i Kinesis Stream
ForbrugerDet får poster fra Kinesis Stream og behandler dem.

Kinesis leverer 3 kernetjenester. De er:

1. Kinesis-strømme

Kinesis Stream består af et sæt sekvenser med dataposter kendt som Shards. Disse skærme har en fast kapacitet, der kan give en maksimal læsehastighed på 2 MB / sekund og skrivehastighed på 1 MB / sekund. Den maksimale kapacitet for en strøm er summen af ​​kapaciteten for hver skærv.

Arbejde med Kinesis:

  • Data produceret af IoT og andre kilder, der er kendt som producenter, føres ind i Kinesis Streams til opbevaring i Shards.
  • Disse data vil være tilgængelige i Shard i højst 24 timer.
  • Hvis det skal gemmes i mere end denne standardtid, kan brugeren stige til en opbevaringsperiode på 7 dage.
  • Når dataene når skårene, kan EC2-tilfælde tage disse data til forskellige formål.
  • EC2-tilfælde, der henter data, kaldes forbrugere.
  • Efter behandlingen af ​​data indføres de i en af ​​Amazon Web Services såsom Simple Storage Service (S3), DynamoDB, Redshift osv.

2. Kinesis brandslange

Kinesis Firehose hjælper med at flytte data til Amazon webtjenester som Redshift, Simple storage service, Elastic Search, osv. Det er en del af streamingplatformen, der ikke administrerer ressourcer. Dataproducenter er konfigureret således, at data skal sendes til Kinesis Firehose, og de sendes derefter automatisk til den tilsvarende destination.

Arbejde med Kinesis brandslange:

  • Som nævnt i arbejdet med AWS Kinesis Streams, får Kinesis Firehose også data fra producenter som mobiltelefoner, laptops, EC2 osv. Men dette behøver ikke at tage data ind i skår eller øge opbevaringsperioder som Kinesis Streams. Det skyldes, at Kinesis Firehose gør det automatisk.
  • Dataene analyseres derefter automatisk og mates til Simple Storage Service
  • Da der ikke er nogen opbevaringsperiode, skal data enten analyseres eller sendes til noget lager afhænger af brugerens krav.
  • Hvis data skal sendes til Redshift, skal de først flyttes til Simple Storage Service og skal kopieres til Redshift derfra.
  • Men i tilfælde af Elastic Search kan data indføres direkte i dem svarende til Simple Storage Service.

3. Kinesis Analytics

Kinesis Firehose tillader at køre SQL-forespørgsler i de data, der findes i Kinesis Firehose. Ved hjælp af disse SQL-forespørgsler kan data gemmes i Redshift, Simple Storage Service, ElasticSearch osv.

AWS Kinesis Arkitektur

AWS Kinesis Architecture består af

  • Producenter
  • shards
  • forbrugere
  • Opbevaring

Ligesom det arbejde, der er forklaret i AWS Kinesis Data Stream, indføres data fra producenterne til skår, hvor data behandles og analyseres. De analyserede data flyttes derefter til EC2-tilfælde for at udføre visse applikationer. Endelig gemmes data i en hvilken som helst af Amazon webtjenester såsom S3, Redshift osv.

Hvordan bruges AWS kinesis?

For at arbejde med AWS Kinesis skal følgende to trin udføres.

1. Installer AWS kommandolinjegrænseflade (CLI).

Installation af kommandolinjegrænsefladen er forskellig for forskellige operativsystemer. Så installer CLI baseret på dit operativsystem.

For Linux-brugere skal du bruge kommandoen sudo pip installere AWS CLI

Sørg for, at du har en python version 2.6.5 eller nyere. Efter download, konfigurer det ved hjælp af AWS-konfigureringskommandoen. Derefter bliver følgende spørgsmål stillet som vist nedenfor.

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

For Windows-brugere skal du downloade den relevante MSI-installationsprogram og køre den.

2. Udfør Kinesis-operationer ved hjælp af CLI

Bemærk, at Kinesis-datastrømme ikke er tilgængelige i AWS-gratis niveau. Så oprettede Kinesis-strømme debiteres.

Lad os nu se nogle kinesis-operationer i CLI.

  • Opret strøm

Opret en strøm KStream med Shard count 2 ved hjælp af følgende kommando.

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

Kontroller, om strømmen er oprettet.

aws kinesis describe-stream --stream-name KStream

Hvis det oprettes, vil en output, der ligner det følgende eksempel, have vist sig.

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

  • Sæt rekord

Nu kan en datapost indsættes vha. Put-record-kommando. Her indsættes en post, der indeholder en datatest i strømmen.

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

Hvis indsættelsen er vellykket, vises output som vist nedenfor.

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

  • Hent optagelse

For det første skal brugeren hente en shard-iterator, der repræsenterer positionen for strømmen for shard.

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

Kør derefter kommandoen ved hjælp af den opnåede skærde iterator.

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

En prøveudgang opnås som vist nedenfor.

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

  • Ryd op

For at undgå afgifter kan den oprettede strøm slettes ved hjælp af kommandoen nedenfor.

aws kinesis delete-stream --stream-name KStream

Konklusion

AWS Kinesis er en platform, der indsamler, behandler og analyserer streamingdata til flere applikationer som maskinlæring, forudsigelig analyse og så videre. Streaming af data kan være af et hvilket som helst format såsom lyd, video, sensordata osv.

Anbefalede artikler

Dette er en guide til AWS Kinesis. Her diskuterer vi, hvordan man bruger AWS Kinesis og også dens Service med arbejde og arkitektur. Du kan også se på den følgende artikel for at lære mere -

  1. AWS Arkitektur
  2. Hvad er AWS Lambda?
  3. Big Data Technologies
  4. Datamineringsarkitektur
  5. AWS Storage Services
  6. Vejledning til AWS-konkurrenter med funktioner

Kategori: