AWS Kinesis - Kroky, jak se naučit, jak používat AWS Kinesis?

Obsah:

Anonim

Co je AWS Kinesis?

Kinesis je platforma, která pomáhá při sběru, zpracování a analýze datových proudů v Amazon Web Services. Streamování dat je velké množství dat, které jsou vytvářeny z různých zdrojů, jako jsou sociální média, senzory IoT, předpověď počasí, zdravotnictví atd. Používají se při vytváření aplikací na základě požadavku uživatele. Mezi běžné aplikace patří prediktivní analytika ve velkých datech, strojové učení atd. V tomto tématu se budeme učit o AWS Kinesis.

Služby AWS Kinesis

Než se přestěhujeme do služeb, nejprve si vysvětlíme některé terminologie používané v Kinesis.

Terminologie

ObdobíDefinice
Záznam datDatová jednotka uložená v datovém toku Kinesis. Skládá se z bloků dat, pořadového čísla a klíče oddílu
StřepSada posloupnosti datových záznamů. Počet střepů lze zvýšit nebo snížit, pokud se zvýší rychlost dat.
Retenční obdobíČasové období, ve kterém mohou být data přístupná po přidání do proudu.

Výchozí doba uchování: 24 hodin

VýrobceDo systému Kinesis Stream se ukládají datové záznamy
SpotřebitelZískává záznamy z Kinesis Stream a zpracovává je.

Kinesis poskytuje 3 základní služby. Oni jsou:

1. Kinesis Streams

Kinesis Stream se skládá ze sady sekvencí datových záznamů známých jako Shards. Tyto úlomky mají pevnou kapacitu, která může poskytnout maximální rychlost čtení 2 MB / s a ​​rychlost zápisu 1 MB / s. Maximální kapacita proudu je součet kapacity každého střepu.

Práce s Kinesis:

  • Data produkovaná IoT a dalšími zdroji, které jsou známé jako Producenti, jsou přiváděna do toků Kinesis pro ukládání v Shards.
  • Tato data budou v Shardu k dispozici maximálně 24 hodin.
  • Pokud je třeba ji uložit déle, než je tato výchozí doba, může uživatel zvýšit retenční dobu 7 dní.
  • Jakmile data dosáhnou Shards, instance EC2 mohou vzít tato data pro různé účely.
  • Příklady EC2, které načítají data, se nazývají Spotřebitelé.
  • Po zpracování dat je přiváděna do jedné z Amazon Web Services, jako je Simple Storage Service (S3), DynamoDB, Redshift atd.

2. Kinesis Firehose

Kinesis Firehose je užitečný při přesunu dat do webových služeb Amazonu, jako je Redshift, Simple storage service, Elastic Search atd. Je součástí streamingové platformy, která nespravuje žádné zdroje. Producenti dat jsou nakonfigurováni tak, že data musí být zaslána do Kinesis Firehose a poté je automaticky odešle na odpovídající cíl.

Práce s Kinesis Firehose:

  • Jak je uvedeno v práci AWS Kinesis Streams, Kinesis Firehose také získává data od výrobců, jako jsou mobilní telefony, notebooky, EC2 atd. Ale to nemusí brát data do střepů nebo prodlužovat doby uchovávání, jako je Kinesis Streams. Je to proto, že Kinesis Firehose to dělá automaticky.
  • Data jsou poté automaticky analyzována a dodávána do služby Simple Storage Service
  • Protože neexistuje žádná doba uchování, data musí být analyzována nebo odeslána do jakéhokoli úložiště, závisí na požadavcích uživatele.
  • Pokud musí být data odeslána do Redshift, musí být nejprve přesunuta do služby Simple Storage Service a odtud je třeba zkopírovat do Redshift.
  • V případě elastického vyhledávání je však možné do nich přímo vkládat data podobná službě Simple Storage Service.

3. Kinesis Analytics

Kinesis Firehose umožňuje spouštět dotazy SQL v datech, která jsou obsažena v Kinesis Firehose. Pomocí těchto dotazů SQL lze data ukládat v Redshift, Simple Storage Service, ElasticSearch atd.

AWS Kinesis Architecture

AWS Kinesis Architecture se skládá z

  • Producenti
  • Střepy
  • Spotřebitelé
  • Úložný prostor

Podobně jako práce vysvětlené v AWS Kinesis Data Stream jsou data od producentů vkládána do Shards, kde jsou data zpracovávána a analyzována. Analyzovaná data jsou poté přesunuta do instancí EC2 pro provádění určitých aplikací. Konečně budou data uložena v jakékoli z webových služeb Amazonu, jako je S3, Redshift atd.

Jak používat AWS kinesis?

Pro práci s AWS Kinesis je třeba provést následující dva kroky.

1. Nainstalujte rozhraní příkazového řádku AWS (CLI).

Instalace rozhraní příkazového řádku se u různých operačních systémů liší. Nainstalujte tedy CLI na základě operačního systému.

Pro uživatele Linuxu použijte příkaz sudo pip install AWS CLI

Ujistěte se, že máte python verze 2.6.5 nebo vyšší. Po stažení jej nakonfigurujte pomocí příkazu AWS configure. Poté se zobrazí následující podrobnosti, jak je uvedeno níže.

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

Uživatelé systému Windows si stáhněte příslušný instalační program MSI a spusťte jej.

2. Proveďte operace Kinesis pomocí CLI

Vezměte prosím na vědomí, že datové proudy Kinesis nejsou k dispozici pro úroveň AWS zdarma. Vytvořené toky Kinesis budou tedy účtovány.

Nyní se podívejme na některé operace kinesis v CLI.

  • Vytvořit Stream

Vytvořte proud KStream pomocí Shard count 2 pomocí následujícího příkazu.

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

Zkontrolujte, zda se stream vytvořil.

aws kinesis describe-stream --stream-name KStream

Pokud je vytvořen, zobrazí se výstup podobný následujícímu příkladu.

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

  • Dejte záznam

Nyní lze datový záznam vložit pomocí příkazu put-record. Zde se do proudu vloží záznam obsahující test dat.

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

Pokud je vložení úspěšné, zobrazí se výstup, jak je znázorněno níže.

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

  • Získejte záznam

Nejprve musí uživatel získat sher iterátor, který představuje polohu proudu pro střep.

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

Poté spusťte příkaz pomocí získaného iterátoru shard.

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

Ukázkový výstup bude získán, jak je ukázáno níže.

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

  • Uklidit

Chcete-li se vyhnout poplatkům, vytvořený tok lze odstranit pomocí příkazu níže.

aws kinesis delete-stream --stream-name KStream

Závěr

AWS Kinesis je platforma, která shromažďuje, zpracovává a analyzuje streamovaná data pro několik aplikací, jako je strojové učení, prediktivní analytika atd. Streamovaná data mohou být v jakémkoli formátu, jako jsou audio, video, data senzorů atd.

Doporučené články

Toto je průvodce AWS Kinesis. Zde diskutujeme o tom, jak používat AWS Kinesis a také jeho službu s prací a architekturou. Další informace naleznete také v následujícím článku -

  1. Architektura AWS
  2. Co je AWS Lambda?
  3. Technologie velkých dat
  4. Architektura dolování dat
  5. AWS Storage Services
  6. Průvodce konkurencí AWS s funkcemi