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
Termen | Definiție |
Înregistrare de date | Unitate 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 retentie | Perioada de timp în care datele pot fi accesate după adăugarea în flux.
Perioada de reținere implicită: 24 de ore |
Producător | Acesta alimentează înregistrările de date în fluxul Kinesis |
Consumator | Obț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 -
- AWS Architecture
- Ce este AWS Lambda?
- Tehnologii de date mari
- Arhitectura de exploatare a datelor
- Servicii de stocare AWS
- Ghid pentru concurenții AWS cu caracteristici