{"id":31255,"date":"2020-10-05T14:03:45","date_gmt":"2020-10-05T12:03:45","guid":{"rendered":"https:\/\/fotc.com\/?p=31255"},"modified":"2023-12-21T15:04:11","modified_gmt":"2023-12-21T14:04:11","slug":"dataflow-flex-templates","status":"publish","type":"post","link":"https:\/\/fotc.com\/pl\/blog\/dataflow-flex-templates\/","title":{"rendered":"Elastyczne tworzenie szablon\u00f3w dzi\u0119ki Dataflow Flex Templates w Google Cloud"},"content":{"rendered":"\n
Analiza danych stanowi wa\u017cny element rozwoju wielu organizacji. To obszar, w kt\u00f3rym znalezienie wsp\u00f3lnego j\u0119zyka mi\u0119dzy technologi\u0105 a biznesem jest niezwykle wa\u017cne do efektywnego dzia\u0142ania.<\/span><\/p>\n\n\n\n W wielu przypadkach dzia\u0142y analiz biznesowych korzystaj\u0105 z przygotowanych przez developer\u00f3w pipeline\u2019\u00f3w. Pipeline to cykl szeregowego przetwarzania danych, gdzie dane wyj\u015bciowe jednego elementu s\u0105 danymi wej\u015bciowymi elementu nast\u0119pnego. <\/span><\/p>\n\n\n\n\n\n\n\n Do niedawna wykorzystanie przez biznes pracy developer\u00f3w by\u0142o do\u015b\u0107 k\u0142opotliwe \u2013 uruchomienie pipeline\u2019u wymaga\u0142o instalacji i konfiguracji \u015brodowiska programistycznego wraz ze wszystkimi zale\u017cno\u015bciami (np. bibliotekami) po stronie u\u017cytkownika oraz wprowadzenia zmian w kodzie \u017ar\u00f3d\u0142owym<\/strong>. A nie ka\u017cdy analityk biznesowy ma wiedz\u0119 programistyczn\u0105, by sprawnie poradzi\u0107 sobie z tym zadaniem.<\/span><\/p>\n\n\n\n Grafika prezentuje proces uruchamiania pipeline przed wprowadzeniem przez Google Cloud<\/a> rozwi\u0105zania, jakim s\u0105 szablony Dataflow<\/a>:<\/strong><\/span><\/p>\n\n\n\n Proces uruchamiania pipeline znacznie upro\u015bci\u0142y szablony \u2013 classic templates i od niedawna Flex Templates.<\/strong><\/p>\n\n\n\n Dotychczas Google dawa\u0142o mo\u017cliwo\u015b\u0107 wykorzystania klasycznych szablon\u00f3w (classic templates). Funkcjonalno\u015b\u0107 pozwala developerowi uruchomi\u0107 pipeline w \u015brodowisku programistycznym, gdzie nast\u0119pnie konwertuje go do szablonu i zamieszcza w Cloud Storage. U\u017cytkownik mo\u017ce uruchomi\u0107 szablon bez konieczno\u015bci instalowania i konfigurowania \u015brodowiska programistycznego.<\/strong><\/span><\/p>\n\n\n\n Klasyczne szablony posiadaj\u0105 jednak kilka ogranicze\u0144<\/strong> \u2013 m.in. nie daj\u0105 u\u017cytkownikowi mo\u017cliwo\u015bci wprowadzania zmian czy samodzielnego dopasowania do potrzeb analizy (np. w kwestii wyboru \u017ar\u00f3d\u0142a danych wyj\u015bciowych), co dalej wymaga\u0142o od developer\u00f3w tworzenia r\u00f3\u017cnych wariant\u00f3w pipeline\u2019\u00f3w; klasyczne szablony s\u0105 te\u017c uzale\u017cnione od interfejsu ValueProvider Apache Beam, kt\u00f3re posiada ograniczon\u0105 liczb\u0119 \u017ar\u00f3de\u0142 wej\u015bcia i wyj\u015bcia. Analityka, nawet z u\u0142atwieniem w postaci <\/span>classic templates<\/span><\/i>, wci\u0105\u017c by\u0142a ci\u0119\u017ckim kawa\u0142kiem chleba, anga\u017cuj\u0105cym developer\u00f3w i znacznie ograniczaj\u0105cym analityk\u00f3w.<\/span><\/p>\n\n\n\n Z pocz\u0105tkiem pa\u017adziernika 2020 Google rozszerzy\u0142o mo\u017cliwo\u015bci udost\u0119pniania i wykorzystania pipeline\u2019\u00f3w dzi\u0119ki Flex Templates.<\/span><\/p>\n\n\n\n Flex Templates zapewnia wi\u0119ksz\u0105 elastyczno\u015b\u0107 w por\u00f3wnaniu z szablonami klasycznymi.<\/strong> Podobnie jak classic templates, Flex Templates r\u00f3wnie\u017c daje mo\u017cliwo\u015b\u0107 uruchomienia pipeline\u2019u bez konieczno\u015bci instalowania \u015brodowiska programistycznego. Ponadto pozwala analitykom wprowadza\u0107 zmiany w szablonach \u2013 np. wybiera\u0107 dowolne \u017ar\u00f3d\u0142o danych wej\u015bciowych i wyj\u015bciowych (source\/sink<\/i>), co zdejmuje z developer\u00f3w konieczno\u015b\u0107 tworzenia kilku wariant\u00f3w szablon\u00f3w. Flex Templates usuwa te\u017c zale\u017cno\u015b\u0107 od interfejsu ValueProvider, co pozwala korzysta\u0107 z wi\u0119kszej liczby \u017ar\u00f3de\u0142.<\/p>\n\n\n\n Schemat tworzenia i udost\u0119pniania Flex Templates wygl\u0105da nast\u0119puj\u0105co:<\/span><\/p>\n\n\n\n Developer tworzy pipeline. Zamiast zamieszcza\u0107 go w Cloud Storage, konwertuje kod lub pliki binarne do obrazu dockera i zapisuje go w Google Container Registry. Tworzy te\u017c plik ze specyfikacj\u0105 szablonu, kt\u00f3ry jest przechowywany w Cloud Storage. Konstrukcja Flex Templates umo\u017cliwia dynamiczne tworzenie diagram\u00f3w na podstawie danych wprowadzonych przez u\u017cytkownika. <\/span><\/p>\n\n\n\n U\u017cytkownik mo\u017ce wprowadzi\u0107 dane i parametry oraz uruchomi\u0107 szablon z poziomu wiersza polece\u0144 gcloud, u\u017cywaj\u0105c API lub interfejsu Dataflow w konsoli Google Cloud, wskazuj\u0105c odpowiedni plik w Cloud Storage.<\/span><\/p>\n\n\n\n Wi\u0119cej informacji o Dataflow Flex Templates znajdziesz w filmie ni\u017cej:<\/strong><\/p>\n\n\n\n<\/figure>\n\n\n\n
Udost\u0119pnianie pipeline’\u00f3w Dataflow z klasycznymi szablonami<\/span><\/h2>\n\n\n\n
<\/figure>\n\n\n\n
Dopasowanie pipeline do potrzeb analizy dzi\u0119ki Dataflow Flex Templates<\/span><\/h2>\n\n\n\n
<\/figure>\n\n\n\n