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
Begrep | Definisjon |
Dataregistrering | Datagenhet lagret i datastrømmen til Kinesis. Den består av dataklatt, sekvensnummer og en partisjonstast |
Shard | Sett med sekvensen med dataposter. Antall skjær kan økes eller reduseres hvis datahastigheten økes. |
Oppbevaringsperiode | Tidsperioden hvor dataene kan nås etter at de er lagt til strømmen.
Standard oppbevaringsperiode: 24 timer |
Produsent | Den fører dataoppføringer i Kinesis Stream |
forbruker~~POS=TRUNC | Den 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 -
- AWS Arkitektur
- Hva er AWS Lambda?
- Big Data Technologies
- Data Mining Architecture
- AWS Storage Services
- Guide til konkurrenter av AWS med funksjoner