Ce este AWS Kinesis?

Kinesis este o platformă care ajută la colectarea, procesarea și analizarea datelor de streaming în Amazon Web Services. Streamingul de date este o cantitate mare de date care sunt generate din diferite surse, cum ar fi social media, senzori IoT, prognoza meteo, asistență medicală, etc. Acestea sunt utilizate în construirea aplicațiilor pe baza cerințelor utilizatorului. Unele dintre aplicațiile obișnuite includ analize predictive în Big Data, Machine Learning, etc. În acest subiect, vom învăța despre AWS Kinesis.

AWS Kinesis Services

Înainte de a ne deplasa la servicii, să înțelegem mai întâi unele terminologii utilizate în Kinesis.

Terminologie

TermenDefiniție
Înregistrare de dateUnitate de date stocată în fluxul de date din Kinesis. Este format din blob de date, număr de secvență și o cheie de partiție
ciob de sticlăSet de secvență de înregistrări de date. Numărul cioburilor poate fi crescut sau micșorat dacă rata de date este crescută.
Perioada de retentiePerioada de timp în care datele pot fi accesate după adăugarea în flux.

Perioada de reținere implicită: 24 de ore

ProducătorAcesta alimentează înregistrările de date în fluxul Kinesis
ConsumatorObține înregistrări din Kinesis Stream și le prelucrează.

Kinesis oferă 3 servicii de bază. Sunt:

1. Kinesis Streams

Kinesis Stream constă dintr-un set de secvențe de înregistrări de date cunoscute sub numele de Shards. Aceste Părți au o capacitate fixă ​​care poate oferi o rată de citire maximă de 2 MB / secundă și o rată de scriere de 1 MB / secundă. Capacitatea maximă a unui flux este suma capacității fiecărui fragment.

Lucrul de Kinezis:

  • Datele produse de IoT și alte surse cunoscute sub numele de Producători sunt introduse în fluxurile de kinesi pentru stocarea în fragmente.
  • Aceste date vor fi disponibile în Shard pentru maxim 24 de ore.
  • Dacă trebuie să fie păstrat mai mult decât acest timp implicit, utilizatorul poate crește până la o perioadă de păstrare de 7 zile.
  • Odată ce datele ajung în Shards, instanțele EC2 pot lua aceste date în scopuri diferite.
  • Instanțele EC2 care preiau datele sunt cunoscute sub numele de Consumatori.
  • După procesarea datelor, acestea sunt introduse într-unul dintre serviciile web Amazon cum ar fi Serviciul de stocare simplă (S3), DynamoDB, Redshift etc.

2. Kinesis Firehose

Kinesis Firehose este util în mutarea datelor către serviciile web Amazon cum ar fi Redshift, serviciul de stocare simplă, Căutare Elastică etc. Este o parte a platformei de streaming care nu administrează resurse. Producătorii de date sunt configurați astfel încât datele trebuie trimise către Kinesis Firehose și apoi le trimit automat la destinația corespunzătoare.

Lucrări de Kinesis Firehose:

  • Așa cum s-a menționat în funcționarea AWS Kinesis Streams, Kinesis Firehose primește și date de la producători, cum ar fi telefoane mobile, laptopuri, EC2, etc. Dar acest lucru nu trebuie să ia date în cioburi sau să crească perioade de retenție precum Kinesis Streams. Se datorează faptului că Kinesis Firehose o face automat.
  • Datele sunt apoi analizate automat și introduse într-un serviciu de stocare simplă
  • Deoarece nu există nicio perioadă de păstrare, datele trebuie fie analizate, fie trimise la orice stocare depinde de cerințele utilizatorului.
  • Dacă datele trebuie trimise către Redshift, trebuie să fie mai întâi mutate la Serviciul de stocare simplă și trebuie să le copiezi la Redshift.
  • Dar, în cazul Căutării Elastice, datele pot fi direct introduse în ea asemănătoare Serviciului de stocare simplă.

3. Kinesis Analytics

Kinesis Firehose permite rularea interogărilor SQL în datele care sunt prezente în Kinesis Firehose. Folosind aceste interogări SQL, datele pot fi stocate în Redshift, Serviciu de stocare simplă, ElasticSearch etc.

AWS Kinesis Architecture

AWS Kinesis Architecture constă din

  • Producătorii
  • Cioburi
  • Consumatori
  • Depozitare

În mod similar lucrărilor explicate în fluxul de date Kinesis AWS, datele producătorilor sunt introduse în fragmente unde datele sunt procesate și analizate. Datele analizate sunt apoi mutate în instanțe EC2 pentru efectuarea anumitor aplicații. În cele din urmă, datele vor fi stocate în oricare dintre serviciile web Amazon cum ar fi S3, Redshift etc.

Cum se folosește kineza AWS?

Pentru a lucra cu AWS Kinesis, trebuie făcuți următorii doi pași.

1. Instalați interfața liniei de comandă AWS (CLI).

Instalarea interfeței din linia de comandă este diferită pentru diferite sisteme de operare. Așadar, instalați CLI pe baza sistemului dvs. de operare.

Pentru utilizatorii Linux, utilizați comanda sudo pip install AWS CLI

Asigurați-vă că aveți o versiune python 2.6.5 sau mai mare. După descărcare, configurați-o folosind comanda AWS configure. Apoi, următoarele detalii vor fi solicitate după cum se arată mai jos.

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

Pentru utilizatorii de Windows, descărcați instalatorul MSI corespunzător și executați-l.

2. Efectuați operații de Kinesis utilizând CLI

Vă rugăm să rețineți că fluxurile de date Kinesis nu sunt disponibile pentru nivelul liber AWS. Deci, fluxurile Kinesis create vor fi taxate.

Să vedem acum câteva operații de kinesi în CLI.

  • Creați flux

Creați un flux KStream cu Shard count 2 folosind următoarea comandă.

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

Verificați dacă fluxul a fost creat.

aws kinesis describe-stream --stream-name KStream

Dacă este creat, va apărea o ieșire similară cu următorul exemplu.

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

  • Pune înregistrare

Acum, o înregistrare de date poate fi introdusă folosind comanda put-record. Aici, o înregistrare care conține un test de date este introdusă în flux.

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

Dacă inserarea este reușită, ieșirea va fi afișată așa cum se arată mai jos.

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

  • Obțineți înregistrare

În primul rând, utilizatorul trebuie să obțină iteratorul fragmentului care reprezintă poziția fluxului pentru fragment.

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

Apoi, executați comanda folosind iteratorul shard obținut.

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

O ieșire de probă va fi obținută așa cum se arată mai jos.

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

  • A curăța

Pentru a evita taxele, fluxul creat poate fi șters folosind comanda de mai jos.

aws kinesis delete-stream --stream-name KStream

Concluzie

AWS Kinesis este o platformă care colectează, prelucrează și analizează fluxul de date pentru mai multe aplicații precum învățarea automată, analiza predictivă și așa mai departe. Transmiterea datelor poate fi de orice format, cum ar fi audio, video, date ale senzorilor etc.

Articole recomandate

Acesta este un ghid pentru AWS Kinesis. Aici vom discuta despre cum să utilizăm AWS Kinesis și, de asemenea, Serviciul său cu lucrări și Arhitectură. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. AWS Architecture
  2. Ce este AWS Lambda?
  3. Tehnologii de date mari
  4. Arhitectura de exploatare a datelor
  5. Servicii de stocare AWS
  6. Ghid pentru concurenții AWS cu caracteristici

Categorie: