Vad är AWS Kinesis?

Kinesis är en plattform som hjälper till att samla in, bearbeta och analysera strömningsdata i Amazon Web Services. Strömningsdata är en stor mängd data som skapas från olika källor, t.ex. sociala medier, IoT-sensorer, väderprognos, hälso-och sjukvård, etc. Dessa används för att bygga applikationer baserade på användarens krav. Några av de vanliga applikationerna inkluderar prediktiv analys i Big Data, Machine Learning osv. I det här ämnet kommer vi att lära oss om AWS Kinesis.

AWS Kinesis Services

Innan vi går till tjänsterna, låt oss först förstå vissa terminologier som används i Kinesis.

Terminologi

TerminDefinition
DatapostDataenhet lagrad i dataströmmen i Kinesis. Det består av datablå, sekvensnummer och en partitionsnyckel
SkärvaUppsättning av sekvensen med dataposter. Antalet skär kan ökas eller minskas om datahastigheten ökar.
FörvaringsperiodDen tidsperiod där informationen kan nås efter att den har lagts till i strömmen.

Standard lagringsperiod: 24 timmar

ProducentDen matar in dataposter i Kinesis Stream
KonsumentDen får poster från Kinesis Stream och bearbetar dem.

Kinesis tillhandahåller tre kärntjänster. Dom är:

1. Kinesis-strömmar

Kinesis Stream består av en uppsättning sekvenser med dataposter kända som skärvor. Dessa skärmar har en fast kapacitet som kan ge en maximal läshastighet på 2 MB / sekund och skrivhastighet på 1 MB / sekund. Den maximala kapaciteten för en ström är summan av kapaciteten för varje skärv.

Working of Kinesis:

  • Data som produceras av IoT och andra källor som kallas producenter matas in i Kinesis-strömmarna för lagring i skärvor.
  • Denna information kommer att finnas tillgänglig i Shard i högst 24 timmar.
  • Om det måste lagras mer än denna standardtid kan användaren öka till en kvarhållningsperiod på 7 dagar.
  • När uppgifterna når skärmen kan EC2-instanser ta dessa uppgifter för olika ändamål.
  • EC2-instanser som hämtar data kallas konsumenter.
  • Efter behandlingen av data matas den in i en av Amazon Web Services som Simple Storage Service (S3), DynamoDB, Redshift, etc.

2. Kinesis eldslang

Kinesis Firehose hjälper till med att flytta data till Amazon webbtjänster som Redshift, Enkel lagringstjänst, Elastic Search, etc. Det är en del av streamingplattformen som inte hanterar några resurser. Dataproducenter är konfigurerade så att data måste skickas till Kinesis Firehose och sedan skickas de automatiskt till motsvarande destination.

Working of Kinesis Firehose:

  • Som nämnts i arbetet med AWS Kinesis Streams får Kinesis Firehose också data från tillverkare som mobiltelefoner, bärbara datorer, EC2, etc. Men detta behöver inte ta data i skärvor eller öka lagringsperioder som Kinesis Streams. Det beror på att Kinesis Firehose gör det automatiskt.
  • Uppgifterna analyseras sedan automatiskt och matas in i Simple Storage Service
  • Eftersom det inte finns någon lagringsperiod måste data antingen analyseras eller skickas till någon lagring beror på användarens krav.
  • Om data måste skickas till Redshift måste de först flyttas till Simple Storage Service och måste kopieras till Redshift därifrån.
  • Men när det gäller Elastic Search kan data matas direkt in i det liknande Simple Storage Service.

3. Kinesis Analytics

Kinesis Firehose tillåter att köra SQL-frågorna i de data som finns i Kinesis Firehose. Med hjälp av dessa SQL-frågor kan data lagras i Redshift, Simple Storage Service, ElasticSearch, etc.

AWS Kinesis Architecture

AWS Kinesis Architecture består av

  • producenter
  • Shards
  • konsumenter
  • Lagring

I likhet med det arbete som förklaras i AWS Kinesis Data Stream matas data från producenter till skärvor där data bearbetas och analyseras. De analyserade data flyttas sedan till EC2-instanser för att utföra vissa applikationer. Till sist kommer data att lagras i någon av Amazonas webbtjänster som S3, Redshift, etc.

Hur använder man AWS-kinesis?

För att arbeta med AWS Kinesis måste följande två steg göras.

1. Installera AWS-kommandoradsgränssnittet (CLI).

Installera kommandoradsgränssnittet skiljer sig åt olika operativsystem. Så installera CLI baserat på ditt operativsystem.

För Linux-användare, använd kommandot sudo pip installera AWS CLI

Se till att du har en pythonversion 2.6.5 eller högre. Efter nedladdning konfigurerar du det med AWS-konfigureringskommandot. Därefter kommer följande detaljer att ställas som visas nedan.

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

För Windows-användare, ladda ner rätt MSI-installationsprogram och kör det.

2. Utför Kinesis-operationer med CLI

Observera att Kinesis dataströmmar inte är tillgängliga för AWS-gratis nivå. Så Kinesis-strömmar som skapats kommer att debiteras.

Låt oss nu se några kinesisoperationer i CLI.

  • Skapa ström

Skapa en ström KStream med skärvräkning 2 med följande kommando.

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

Kontrollera om strömmen har skapats.

aws kinesis describe-stream --stream-name KStream

Om det skapas kommer en utgång som liknar följande exempel ha dykt upp.

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

  • Sätt rekord

Nu kan en datapost infogas med kommandot put-record. Här infogas en post som innehåller ett datatest i strömmen.

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

Om insättningen lyckas visas utdata som visas nedan.

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

  • Få post

Först måste användaren få skärdeterator som representerar strömmens position för skärven.

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

Kör sedan kommandot med den erhållna skärvens iterator.

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

En provutgång erhålls som visas nedan.

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

  • Städa

För att undvika avgifter kan den skapade strömmen raderas med kommandot nedan.

aws kinesis delete-stream --stream-name KStream

Slutsats

AWS Kinesis är en plattform som samlar in, bearbetar och analyserar strömningsdata för flera applikationer som maskininlärning, prediktiv analys och så vidare. Strömningsdata kan ha valfritt format som ljud, video, sensordata etc.

Rekommenderade artiklar

Detta är en guide till AWS Kinesis. Här diskuterar vi hur man använder AWS Kinesis och dess Service med arbetande och arkitektur. Du kan också titta på följande artikel för att lära dig mer -

  1. AWS Arkitektur
  2. Vad är AWS Lambda?
  3. Big Data Technologies
  4. Data Mining Architecture
  5. AWS Storage Services
  6. Guide till konkurrenter av AWS med funktioner

Kategori: