{"id":60,"date":"2022-06-18T17:28:18","date_gmt":"2022-06-18T15:28:18","guid":{"rendered":"http:\/\/wp.jankiewicz.pl\/index.php\/krzysztof-jankiewicz-zaawansowane-przetwarzanie-strumieni-danych-w-apache-flink\/"},"modified":"2022-06-20T23:00:58","modified_gmt":"2022-06-20T21:00:58","slug":"zaawansowane-przetwarzanie-strumieni-danych-w-apache-flink","status":"publish","type":"post","link":"https:\/\/wp.jankiewicz.pl\/index.php\/2022\/06\/18\/zaawansowane-przetwarzanie-strumieni-danych-w-apache-flink\/","title":{"rendered":"Zaawansowane przetwarzanie strumieni danych w Apache Flink"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Harmonogram<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"#day1\" data-type=\"internal\" data-id=\"#day1\">Dzie\u0144 1<\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Flink &#8211; wprowadzenie<\/li><li>DataStream API &#8211; podstawy<\/li><li>DataStream API &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 1<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"#day2\" data-type=\"internal\" data-id=\"#day2\">Dzie\u0144 2<\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>DataStream API &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 2<\/li><li>DataStream API &#8211; stan, punkty kontrolne, punkty zachowania<\/li><li>Table API i SQL<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"#day3\" data-type=\"internal\" data-id=\"#day3\">Dzie\u0144 3<\/a><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Complex Event Processing (CEP)<\/li><li>Przetwarzanie danych wsadowych<\/li><li>Przetwarzanie graf\u00f3w &#8211; Gelly<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Wprowadzenie<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.jankiewicz.pl\/wp-content\/uploads\/2022\/06\/flink1_989bb55d7e.svg\" alt=\"\" class=\"wp-image-198\" width=\"142\" height=\"159\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Aplikacje analizuj\u0105ce nap\u0142ywaj\u0105ce dane, reaguj\u0105ce na pojawiaj\u0105ce si\u0119 anomalie, \u015bledz\u0105ce przebieg<br>proces\u00f3w biznesowych, analizuj\u0105ce zmian\u0119 trend\u00f3w w sieciach spo\u0142eczno\u015bciowych. Platformy odbieraj\u0105ce bez przerwy dane z system\u00f3w \u017ar\u00f3d\u0142owych celem ich ci\u0105g\u0142ego przetwarzania dla przyk\u0142adu zasilaj\u0105cego hurtowni\u0119 danych, czy aktualizuj\u0105cego panele managerskie. To przyk\u0142ady zastosowa\u0144, kt\u00f3re jak powietrza potrzebuj\u0105 zaawansowanych platform przetwarzaj\u0105cych strumienie danych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015arodowiska Big Data od ponad dekady k\u0142ad\u0105 coraz wi\u0119kszy nacisk na przetwarzanie strumieni danych.<br>Rezultatem tego faktu jest dynamiczny rozw\u00f3j narz\u0119dzi s\u0142u\u017c\u0105cych do tego celu. Wydaje si\u0119, \u017ce (nie umniejszaj\u0105c znaczenia wielu innych narz\u0119dzi) szczytem obecnych rozwi\u0105za\u0144 jest Apache Flink, kt\u00f3ry cz\u0119sto uznawany jest jako standard <em>de facto<\/em> przetwarzania strumieni danych w Big Data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Szkolenie <em><strong>Zaawansowane przetwarzanie strumieni danych w Apache Flink<\/strong><\/em> obejmuje praktycznie wszystkie najwa\u017cniejsze mechanizmy dostarczane przez to z\u0142o\u017cone narz\u0119dzie. Rozpoczynamy od zagadnie\u0144 dotycz\u0105cej samej platformy i jej architektury, poznajmy w szczeg\u00f3\u0142ach podstawowe <em>DataStream API<\/em>, ostatecznie docieraj\u0105c do wysokopoziomowych <em>Table API<\/em> czy <em>Complex Event Processing<\/em>. Na deser zagl\u0105damy do jednej z dodatkowych bibliotek pozwalaj\u0105cych na przetwarzanie graf\u00f3w, ewentualnie realizujemy jeden lub dwa projekty, kt\u00f3re pozwol\u0105 nam sprawdzi\u0107 nasze umiej\u0119tno\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Szkolenie prowadzone we wsp\u00f3\u0142pracy z firm\u0105 <a href=\"https:\/\/www.sages.pl\/szkolenia\/zaawansowane-przetwarzanie-strumieni-w-apache-flink\" data-type=\"URL\" data-id=\"https:\/\/www.sages.pl\/szkolenia\/zaawansowane-przetwarzanie-strumieni-w-apache-flink\">Sages<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podstawowe cele szkolenia<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Zapoznanie si\u0119 z architektur\u0105 i Apache Flink i mechanizmami przetwarzania za jego pomoc\u0105 strumieni danych<\/li><li>Opanowanie poszczeg\u00f3lnych API oferowanych przez Apache Flink, z uwzgl\u0119dnieniem ich specyficznych w\u0142asno\u015bci i zastosowa\u0144<\/li><li>Implementacja szeregu praktycznych proces\u00f3w przetwarzaj\u0105cych strumienie danych<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">G\u0142\u00f3wne zalety<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Jedno z niewielu dost\u0119pnych na rynku szkole\u0144 dotycz\u0105cych Apache Flink<\/li><li>Kurs przechodzi od najbardziej podstawowych zagadnie\u0144 do najbardziej z\u0142o\u017conych co pozwala<br>opanowa\u0107 skomplikowany \u015bwiat przetwarzania strumieni danych za pomoc\u0105 Apache Flink<\/li><li>Apache Flink jest dost\u0119pny do wykorzystania zar\u00f3wno w rozwi\u0105zaniach lokalnych (on-premise),<br>jak i na platformach chmurowych<\/li><li>Praktyka przed teori\u0105 &#8211; wszystkie szkolenia technologiczne prowadzone s\u0105 w formie<br>warsztatowej. Konieczna teoria jest wyja\u015bniana na przyk\u0142adzie praktycznych zada\u0144<\/li><li>Konkretne umiej\u0119tno\u015bci &#8211; w ramach ka\u017cdego szkolenia rozwijamy praktyczne umiej\u0119tno\u015bci<br>zwi\u0105zane z dan\u0105 technologi\u0105 i tematyk\u0105<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Dla kogo?<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Analitycy i programi\u015bci, kt\u00f3rzy znaj\u0105 podstawy Big Data oraz przetwarzania strumieni danych i chc\u0105 zapozna\u0107 si\u0119 z platform\u0105 Apache Flink oferuj\u0105c\u0105 w tym zakresie najwi\u0119ksze mo\u017cliwo\u015bci w por\u00f3wnaniu do alternatywnych rozwi\u0105za\u0144<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Wymagania<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Dobra znajomo\u015b\u0107: j\u0119zyka SQL, relacyjnego modelu danych<\/li><li>Podstawowa znajomo\u015b\u0107 obiektowych j\u0119zyk\u00f3w programowania Java oraz Scala, opcjonalnie (jako uzupe\u0142nienie) Python<\/li><li>Znajomo\u015b\u0107 zagadnie\u0144 Big Data, platformy Hadoop oraz powi\u0105zanych z ni\u0105 narz\u0119dzi<\/li><li>Zalecany jest wcze\u015bniejszy udzia\u0142 w szkoleniach:<ul><li><em><a href=\"https:\/\/wp.jankiewicz.pl\/index.php\/2021\/05\/20\/krzysztof-jankiewicz-big-data-i-platforma-hadoop-wprowadzenie\/\" data-type=\"post\" data-id=\"52\">Big Data i platforma Hadoop &#8211; wprowadzenie<\/a><\/em> &#8211; silna rekomendacja<\/li><li><em><a href=\"https:\/\/wp.jankiewicz.pl\/index.php\/2021\/06\/18\/przetwarzanie-strumieni-danych-w-srodowiskach-big-data\/\" data-type=\"post\" data-id=\"56\">Przetwarzanie strumieni danych w \u015brodowiskach Big Data<\/a><\/em><\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Struktura kursu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kurs podzielony jest na tematy. Ka\u017cdy z temat\u00f3w obejmuje wyk\u0142adowy materia\u0142 wprowadzaj\u0105cy i zestaw<br>\u0107wicze\u0144\/zada\u0144\/tutoriali, kt\u00f3ry w praktyczny spos\u00f3b pozwala zaznajomi\u0107 si\u0119 z przedstawianym tematem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Materia\u0142 <strong>wyk\u0142adowy<\/strong> ilustrowany jest slajdami z du\u017c\u0105 liczb\u0105 przyk\u0142ad\u00f3w.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Materia\u0142 <strong>praktyczny<\/strong> ma charakter zada\u0144\/warsztat\u00f3w\/tutoriali do samodzielnego wykonania.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lista temat\u00f3w<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"day1\">Dzie\u0144 1<\/h3>\n\n\n\n<ol class=\"wp-block-list\" id=\"flink-intro\"><li>Flink &#8211; Wprowadzenie<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF01_l1_22-Flink-wprowadzenie.pdf\" target=\"_blank\">Flink &#8211; wprowadzenie<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BS00_w1_21-Konfiguracja-Srodowiska-GCP-sages.pdf\" target=\"_blank\">Konfiguracja \u015brodowiska GCP<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF01_w1_22-Flink-wprowadzenie-gcp-zadania.pdf\" target=\"_blank\">Flink &#8211; wprowadzenie &#8211; warsztaty<\/a><\/li><\/ul><\/li><\/ul><\/li><li>DataStream API &#8211; Podstawy<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF02_l1_22-Flink-DataStream-podstawy.pdf\" target=\"_blank\">DataStream API &#8211; podstawy<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF02_w1_22-Flink-DataStreamAPI-podstawy-gcp-zadania.pdf\" target=\"_blank\">DataStream API &#8211; podstawy &#8211; warsztaty<\/a><\/li><\/ul><\/li><\/ul><\/li><li>DataStream API &#8211; Elementy Zaawansowane &#8211; Cz\u0119\u015b\u0107 1<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF03_l1_22-Flink-DataStream-zaawansowane-cz1.pdf\" target=\"_blank\">DataStream API &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 1<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF03_w1_22-Flink-DataStreamAPI-zaawansowane-gcp-zadania.pdf\" target=\"_blank\">DataStream API &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 1 &#8211; warsztaty<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"day2\">Dzie\u0144 2<\/h3>\n\n\n\n<ol class=\"wp-block-list\" id=\"flink-intro\"><li>DataStream API &#8211; Elementy Zaawansowane &#8211; Cz\u0119\u015b\u0107 2<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF03_l2_22-Flink-DataStream-zaawansowane-cz2.pdf\" target=\"_blank\">DataStream API &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 2<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BS04_w1_22-Spark-Structured-Streaming-gcp-zadania.pdf\" target=\"_blank\">DataStream API &#8211; elementy zaawansowane &#8211; cz\u0119\u015b\u0107 2 &#8211; warsztaty<\/a><\/li><\/ul><\/li><\/ul><\/li><li>DataStream API &#8211; Stan, Punkty Kontrolne, Punkty Zachowania<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF04_l1_22-Flink-Stateful-functions.pdf\" target=\"_blank\">DataStream API &#8211; stan, punkty kontrolne, punkty zachowania<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF04_w1_22-Flink-Stateful-functions-zadania.pdf\" target=\"_blank\">DataStream API &#8211; stan, punkty kontrolne, punkty zachowania &#8211; warsztaty<\/a><\/li><\/ul><\/li><\/ul><\/li><li>Table API I SQL<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF05_l1_22-Flink-TableAPI.pdf\" target=\"_blank\">Table API i SQL<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF05_w1_22-Flink-TableAPI-zadania.pdf\" target=\"_blank\">Table API i SQL &#8211; warsztaty<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"day3\">Dzie\u0144 3<\/h3>\n\n\n\n<ol class=\"wp-block-list\" id=\"flink-intro\"><li>Complex Event Processing (CEP)<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF06_l1_22-Flink-CEP.pdf\" target=\"_blank\">Complex Event Processing (CEP)<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF06_w1_22-Flink-CEP-zadania.pdf\" target=\"_blank\">Complex Event Processing (CEP)<\/a><\/li><\/ul><\/li><\/ul><\/li><li>Przetwarzanie Danych Wsadowych<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l1_22-Flink-batch.pdf\" target=\"_blank\">Przetwarzanie danych wsadowych<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l1_22-Flink-batch-zadania.pdf\" target=\"_blank\">Przetwarzanie danych wsadowych &#8211; warsztat<\/a><\/li><\/ul><\/li><\/ul><\/li><li>Przetwarzanie Graf\u00f3w &#8211; Gelly<ul><li>Materia\u0142 wyk\u0142adowy<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l1_22-Flink-Gelly-podstawy.pdf\" target=\"_blank\">Flink &#8211; Gelly &#8211; podstawy<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l2_22-Flink-Gelly-zaawansowane.pdf\" target=\"_blank\">Flink &#8211; Gelly &#8211; zaawansowane<\/a><\/li><\/ul><\/li><li>Warsztat<ul><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l1_22-Flink-Gelly-podstawy-zadania.pdf\" target=\"_blank\">Flink &#8211; Gelly &#8211; podstawy &#8211; warsztat<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/jankiewicz.pl\/szkolenia\/bigdata-bf\/BF07_l2_22-Flink-Gelly-zaawansowane-zadania.pdf\" target=\"_blank\">Flink &#8211; Gelly &#8211; zaawansowane &#8211; warsztat<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Aplikacje analizuj\u0105ce nap\u0142ywaj\u0105ce dane, reaguj\u0105ce na pojawiaj\u0105ce si\u0119 anomalie, \u015bledz\u0105ce przebieg<br \/>\nproces\u00f3w biznesowych, analizuj\u0105ce zmian\u0119 trend\u00f3w w sieciach spo\u0142eczno\u015bciowych. Platformy odbieraj\u0105ce bez przerwy dane z system\u00f3w \u017ar\u00f3d\u0142owych celem ich ci\u0105g\u0142ego przetwarzania dla przyk\u0142adu zasilaj\u0105cego hurtowni\u0119 danych, czy aktualizuj\u0105cego panele managerskie. To przyk\u0142ady zastosowa\u0144, kt\u00f3re jak powietrza potrzebuj\u0105 zaawansowanych platform przetwarzaj\u0105cych strumienie danych.<\/p>\n","protected":false},"author":2,"featured_media":182,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7],"tags":[15,18],"class_list":["post-60","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-big-data","tag-flink","tag-sql"],"jetpack_featured_media_url":"https:\/\/wp.jankiewicz.pl\/wp-content\/uploads\/2022\/06\/20190805_124025.jpg","_links":{"self":[{"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":19,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":209,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/posts\/60\/revisions\/209"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/media\/182"}],"wp:attachment":[{"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jankiewicz.pl\/index.php\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}