{"id":2502,"date":"2023-12-12T00:23:16","date_gmt":"2023-12-11T23:23:16","guid":{"rendered":"http:\/\/377715.w15.wedos.ws\/domains\/behaimits.com\/integration\/opensource-middleware-integration\/hadoop\/"},"modified":"2023-12-12T00:46:13","modified_gmt":"2023-12-11T23:46:13","slug":"hadoop","status":"publish","type":"page","link":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/","title":{"rendered":"Hadoop"},"content":{"rendered":"<section id=\"breadcrumb-hero-block_46c33773ac632ec1e5dc54fe4661b567\" data-id=\"breadcrumb-hero-block_46c33773ac632ec1e5dc54fe4661b567\" class=\"gt-block breadcrumb-hero bg-dark\">\n    <div class=\"container\">\n                            <div class=\"breadcrumb-hero__breadcrumbs\">\n                                    \t<a href=\"https:\/\/behaimits.com\/cs\/integration\/\"\n\t\t\t\ttitle=\"Integrace\"\n\t\tclass=\"\"\n\t>Integrace<\/a>\n&nbsp;&gt;&nbsp;\n                                    \t<a href=\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/\"\n\t\t\t\ttitle=\"OpenSource Integrace\"\n\t\tclass=\"\"\n\t>OpenSource Integrace<\/a>\n&nbsp;&gt;&nbsp;\n                                <span>Hadoop<\/span>\n            <\/div>\n                            <h1>Hadoop<\/h1>\n            <\/div>\n<\/section>\n\n\n\n<section id=\"narrow-title-text-block-block_6cb3932b033fe6c9b464d05c97bb0bd9\" data-id=\"narrow-title-text-block-block_6cb3932b033fe6c9b464d05c97bb0bd9\" class=\"gt-block narrow-title-text-block\">\n    <div class=\"container container--skinny\">\n                    <span class=\"line\"><\/span>\n                                    <div class=\"narrow-title-text-block__content wysiwyg-wrapper\"><p>Dlouholet\u00e1 zku\u0161enost Behaimu s&nbsp;Hadoopem pokr\u00fdv\u00e1 plnou \u0161\u00ed\u0159i \u010dinnost\u00ed pot\u0159ebn\u00fdch v&nbsp;implementac\u00edch \u2013 architekturu, technick\u00fd design, instalace, konfigurace, bezpe\u010dnost, integraci, provoz a&nbsp;podporu. N\u00e1\u0161 t\u00fdm \u00fasp\u011b\u0161n\u011b dodal n\u011bkolik z\u00e1kaznick\u00fdch Big Data implementac\u00ed, ve kter\u00fdch jsme pou\u017eil \u0161irokou paletu Hadoop projekt\u016f a&nbsp;navazuj\u00edc\u00edch \u0159e\u0161en\u00ed.<\/p>\n<p>Pro v\u00edce informac\u00ed o&nbsp;projektech a&nbsp;know-how Behaimu naleznete n\u00ed\u017ee na str\u00e1nce v&nbsp;n\u00e1sleduj\u00edc\u00edm po\u0159ad\u00ed:<\/p>\n<ul>\n<li>Apache Hadoop<\/li>\n<li>Apache Hbase<\/li>\n<li>Apache Sqoop<\/li>\n<li>Apache Flume<\/li>\n<li>Apache Hive<\/li>\n<li>Apache Spark<\/li>\n<li>Apache Zookeeper<\/li>\n<li>Cloudera Impala<\/li>\n<li>H2O<\/li>\n<\/ul>\n<\/div>\n            <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_ea5a7470df8122a11039b326a45a6ba0\" data-id=\"uneven-doublecol-title-text-block_ea5a7470df8122a11039b326a45a6ba0\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Hadoop<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>Apache Hadoop je open-source softwarov\u00fd framework pou\u017e\u00edvan\u00fd pro distribuovan\u00e9 ulo\u017een\u00ed a&nbsp;zpracov\u00e1n\u00ed velk\u00fdch objem\u016f dat. Skl\u00e1d\u00e1 se z&nbsp;po\u010d\u00edta\u010dov\u00fdch cluster\u016f vybudovan\u00fdch z&nbsp;b\u011b\u017en\u00e9ho hardware. Podporuje \u0159adu bezpe\u010dnostn\u00edch standard\u016f a&nbsp;funkcionalit jako SSL, autentifikace p\u0159es Kerberos, \u0161ifrov\u00e1n\u00ed \u201eat rest\u201c nebo autorizaci pomoc\u00ed rol\u00ed pro to, aby byla podnikov\u00e1 data ulo\u017eena bezpe\u010dn\u011b a&nbsp;byla dostupn\u00e1 pouze u\u017eivatel\u016fm, kter\u00fdm jsou ur\u010dena.<\/p>\n<p>Z\u00e1kladn\u00ed framework se skl\u00e1d\u00e1 z&nbsp;n\u011bkolika modul\u016f:<br \/>\n\u2013 Hadoop <strong>Common<\/strong> \u2013 obsahuje knihovny a&nbsp;n\u00e1stroje pot\u0159ebn\u00e9 pro dal\u0161\u00ed Hadoop moduly<br \/>\n\u2013 Hadoop <strong>Distributed File System<\/strong> (HDFS) \u2013 distribuovan\u00fd souborov\u00fd syst\u00e9m, kter\u00fd ukl\u00e1d\u00e1 data na b\u011b\u017en\u00fdch po\u010d\u00edta\u010d\u00edch a&nbsp;poskytuje vysokou agregovanou propustnost v&nbsp;r\u00e1mci clusteru<br \/>\n\u2013 Hadoop <strong>YARN<\/strong> \u2013 resource-management platforma zodpov\u011bdn\u00e1 za spr\u00e1vu po\u010d\u00edta\u010dov\u00fdch zdroj\u016f\u00a0 v&nbsp;clusteru a&nbsp;jejich pou\u017eit\u00ed pro pl\u00e1nov\u00e1n\u00ed u\u017eivatelsk\u00fdch aplikac\u00ed<\/p>\n<p>Hadoop <strong>MapReduce<\/strong> \u2013 implementace programovac\u00edho modelu MapReduce pro zpracov\u00e1n\u00ed velk\u00fdch objem\u016f dat.<\/p>\n<p>S Hadoop core frameworkem m\u00e1 Behaim v\u00edce ne\u017e 2 roky zku\u0161enost\u00ed:<\/p>\n<ul>\n<li>Instalace cluster\u016f \u2013 nastaven\u00ed, konfigurace a&nbsp;produk\u010dn\u00ed podpora<\/li>\n<li>Konfigurace bezpe\u010dnosti, mj.&nbsp;napojen\u00ed na Kerberos a&nbsp;LDAP<\/li>\n<li>Datov\u00e1 bezpe\u010dnost \u2013 encryption zones<\/li>\n<\/ul>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_3646526faad42f25d03124737589f1c6\" data-id=\"uneven-doublecol-title-text-block_3646526faad42f25d03124737589f1c6\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Hbase<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>HBase je open-source, nerela\u010dn\u00ed distribuovan\u00e1 datab\u00e1ze modelovan\u00e1 podle Google BigTable, kter\u00e1 je naps\u00e1na v\u00a0Jav\u011b.<\/p>\n<p>Je vyv\u00edjena jako sou\u010d\u00e1st projektu Apache Hadoop v\u00a0r\u00e1mci Apache Software Foundation a\u00a0pracuje nad HDFS (Hadoop Distributed File System), a\u00a0poskytuje Hadoopu funkce podobn\u00e9 BigTable. Nab\u00edz\u00ed fault-tolerant \u0159e\u0161en\u00ed pro ukl\u00e1d\u00e1n\u00ed velk\u00e9ho mno\u017estv\u00ed \u0159\u00eddk\u00fdch dat (mal\u00e9 mno\u017estv\u00ed informac\u00ed zachycen\u00e9ho v\u00a0r\u00e1mci velk\u00e9 mno\u017einy pr\u00e1zdn\u00fdch nebo nev\u00fdznamn\u00fdch dat, nap\u0159\u00edklad nalezen\u00ed 50 nejv\u011bt\u0161\u00edch polo\u017eek ve skupin\u011b 2 miliard z\u00e1znam\u016f nebo nalezen\u00ed nenulov\u00fdch polo\u017eek p\u0159edstavuj\u00edc\u00ed m\u00e9n\u011b ne\u017e 0,1% velk\u00e9 skupiny).<\/p>\n<p>Mezi vlastnosti HBase pat\u0159\u00ed komprese, pr\u00e1ce s\u00a0pam\u011bt\u00ed a\u00a0Bloom filtry nad sloupci. HBase je sloupcov\u011b orientovan\u00e9 datov\u00e9 \u00falo\u017ei\u0161t\u011b typu kl\u00ed\u010d-hodnota a\u00a0je \u010dasto pou\u017e\u00edv\u00e1no, proto\u017ee v\u00fdborn\u011b spolupracuje s\u00a0Hadoopem a\u00a0HDFS.<\/p>\n<p>Pracuje nad HDFS a\u00a0je vhodn\u00e1 pro rychlej\u0161\u00ed \u010dten\u00ed a\u00a0z\u00e1pisy nad velk\u00fdmi datasety s\u00a0vysok\u00fdm v\u00fdkonem a\u00a0n\u00edzkou vstupn\u011b-v\u00fdstupn\u00ed latenc\u00ed.<\/p>\n<p>Zku\u0161enost Behaimu: konfigurace, pou\u017eit\u00ed pomoc\u00ed p\u0159\u00edkaz\u016f shellu, design datov\u00e9 vrstvy, HBase REST API z\u00a0klientsk\u00fdch aplikac\u00ed (nap\u0159.\u00a0TIBCO), implementace \u010dten\u00ed\/z\u00e1pis z\u00a0r\u016fzn\u00fdch aplikac\u00ed (Java, TIBCO, jin\u00e9).<\/p>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_2193f063dfc68f26900c521195e0238f\" data-id=\"uneven-doublecol-title-text-block_2193f063dfc68f26900c521195e0238f\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Sqoop<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>Sqoop je command-line n\u00e1stroj pro efektivn\u00ed obousm\u011brn\u00e9 p\u0159enosy dat mezi Hadoopem a&nbsp;strukturovan\u00fdmi datov\u00fdmi \u00falo\u017ei\u0161ti jako jsou rela\u010dn\u00ed datab\u00e1ze. N\u00e1zev Sqoop vznikl kombinac\u00ed n\u00e1zv\u016f SQL and Hadoop. Sqoop se stal popul\u00e1rn\u00edm Apache projektem v&nbsp;\u00a0b\u0159eznu 2012.<\/p>\n<p>Sqoop dovoluje prov\u00e1d\u011bt v&nbsp;offline m\u00f3du n\u011bkter\u00e9 \u00falohy (nap\u0159.&nbsp;ETL zpracov\u00e1n\u00ed) z&nbsp;EDW do Hadoopu d\u00edky efektivn\u00edmu zpracov\u00e1n\u00ed a&nbsp;n\u00edzk\u00fdm n\u00e1rok\u016fm na syst\u00e9mov\u00e9 zdroje. Sqoop m\u016f\u017ee b\u00fdt tak\u00e9 pou\u017eit pro export dat z&nbsp;Hadoopu do extern\u00ed strukturovan\u00e9 datab\u00e1ze. Sqoop pracuje s&nbsp;rela\u010dn\u00edmi datab\u00e1zemi jako Oracle, Microsoft SQL Server, Teradata, Oracle, MySQL, Postgres a&nbsp;HSQLDB.<\/p>\n<p>Podporuje inkrement\u00e1ln\u00ed pln\u011bn\u00ed jedn\u00e9 tabulky nebo free-form SQL dotazy, p\u0159\u00edpadn\u011b ulo\u017een\u00e9 joby spou\u0161t\u011bn\u00e9 opakovan\u011b a&nbsp;prov\u00e1d\u011bj\u00edc\u00ed import zm\u011bn proveden\u00fdch do datab\u00e1ze od p\u0159edchoz\u00edho importu. Importy mohou tak\u00e9 plnit tabulky v&nbsp;Hive nebo HBase.<\/p>\n<p><strong>Behaim m\u00e1 Apache Sqoop n\u011bkolik let zku\u0161enost\u00ed s&nbsp;typick\u00fdmi \u010dinnostmi jako:<\/strong><\/p>\n<ul>\n<li>P\u0159\u00edprava a&nbsp;prov\u00e1d\u011bn\u00ed importn\u00edch skript\u016f (v\u010detn\u011b inkrement\u00e1ln\u00edch pln\u011bn\u00ed)<\/li>\n<li>P\u0159\u00edprava a&nbsp;prov\u00e1d\u011bn\u00ed exportn\u00edch skript\u016f<\/li>\n<li>Optimalizace datov\u00fdch \u00falo\u017ei\u0161\u0165 (form\u00e1t soubor\u016f parquet atd.)<\/li>\n<\/ul>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_3c1b615cd18264b4be146d119165e2b8\" data-id=\"uneven-doublecol-title-text-block_3c1b615cd18264b4be146d119165e2b8\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Flume<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>Apache Flume je distribuovan\u00e1, spolehliv\u00e1 a&nbsp;dostupn\u00e1 slu\u017eba pro efektivn\u00ed sb\u011br, agregaci a&nbsp;p\u0159esuny velk\u00e9ho mno\u017estv\u00ed logovac\u00edch dat. Jej\u00ed hlavn\u00ed \u00fa\u010del je doru\u010dovat data z&nbsp;aplikac\u00ed do Hadoop HDFS. M\u00e1 jednoduchou a&nbsp;flexibiln\u00ed architekturu zalo\u017eenou na streamov\u00e1n\u00ed dat. Je robustn\u00ed a&nbsp;odoln\u00e1 proti chyb\u00e1m s&nbsp;nastaviteln\u00fdm mechanismem pro spolehlivost a&nbsp;mnoha failover a&nbsp;recovery mechanismy. Pou\u017e\u00edv\u00e1 jednoduch\u00fd a&nbsp;roz\u0161i\u0159iteln\u00fd datov\u00fd model, kter\u00fd umo\u017e\u0148uje p\u0159\u00edstup p\u0159es online analytick\u00e9 aplikace.<\/p>\n<p>Flume dovoluje u\u017eivatel\u016fm Hadoopu streamovat velk\u00e9 objemy dat do HDFS:<br \/>\n\u2013 Streamovat data do Hadoopu z&nbsp;v\u00edce zdroj\u016f \u2013 typick\u00e9 p\u0159\u00edklady jsou aplika\u010dn\u00ed logy, data ze sensor\u016f a&nbsp;p\u0159\u00edstroj\u016f, geoloka\u010dn\u00ed data atd.<br \/>\n\u2013 Vyu\u017e\u00edvat mezipam\u011b\u0165 v&nbsp;p\u0159\u00edpadech, kdy je ve \u0161pi\u010dk\u00e1ch objem p\u0159\u00edchoz\u00edch dat v\u011bt\u0161\u00ed ne\u017e rychlost s&nbsp;jakou mohou b\u00fdt ukl\u00e1d\u00e1ny<br \/>\n\u2013 Flume NG pou\u017e\u00edv\u00e1 transakce formou kan\u00e1l\u016f pro garanci spolehliv\u00e9ho doru\u010den\u00ed zpr\u00e1v. Kdy\u017e se zpr\u00e1va p\u0159esunuje od jednoho agenta k&nbsp;druh\u00e9mu, jsou zah\u00e1jeny dv\u011b transakce. Jedna na agentu, kter\u00fd zpr\u00e1vu doru\u010duje a&nbsp;druh\u00e1 na p\u0159ij\u00edmaj\u00edc\u00edm agentu. To zaji\u0161\u0165uje garantovanou s\u00e9mantiku doru\u010den\u00ed.<\/p>\n<p><strong>Behaim s&nbsp;Flume pracuje dva roky<\/strong>, kdy prov\u00e1d\u00edme instalace, nastaven\u00ed, konfigurace a&nbsp;produk\u010dn\u00ed nasazen\u00ed, a&nbsp;tak\u00e9 implementaci Flume komponent (zdroje, kan\u00e1ly, sinks, agenty apod.), v\u010detn\u011b integrace s&nbsp;dal\u0161\u00edmi aplikacemi.<\/p>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_e28ed8ebf5262003c36ca3888b5f2b69\" data-id=\"uneven-doublecol-title-text-block_e28ed8ebf5262003c36ca3888b5f2b69\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Hive<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>Apache Hive je infrastruktura datov\u00e9ho skladu vybudovan\u00e1 nad Hadoopem pro poskytov\u00e1n\u00ed datov\u00fdch sumarizac\u00ed, dotaz\u016f a&nbsp;anal\u00fdz. Hive poskytuje rozhran\u00ed typu SQL pro dotazov\u00e1n\u00ed na data ulo\u017een\u00e1 v&nbsp;r\u016fzn\u00fdch datab\u00e1z\u00edch a&nbsp;souborov\u00fdch syst\u00e9mech, kter\u00e9 jsou integrov\u00e1ny s&nbsp;Hadoop. Bez Hive mus\u00ed b\u00fdt dotazy implementov\u00e1ny v&nbsp;MapReduce Java API, kde se spou\u0161t\u00ed SQL aplikace a&nbsp;dotazy nad distribuovan\u00fdmi daty. Hive nab\u00edz\u00ed nezbytnou SQL abstrakci k&nbsp;integraci dotaz\u016f SQL typu (HiveQL) do ni\u017e\u0161\u00edch vrstev Java API bez nutnosti implementovat dotazy p\u0159\u00edmo v&nbsp;z\u00e1kladn\u00edm Java API.<\/p>\n<p>Proto\u017ee v\u011bt\u0161ina datov\u00fdch sklad\u016f pracuje s&nbsp;jazyky na b\u00e1zi SQL dotazov\u00e1n\u00ed, Hive podporuje snadnou p\u0159enositelnost aplikac\u00ed postaven\u00fdch na SQL do Hadoopu. Apache Hive byl origin\u00e1ln\u011b vyvinut Facebookem a&nbsp;je v&nbsp;sou\u010dasnosti pou\u017e\u00edv\u00e1n spole\u010dnostmi jako Netflix nebo FINRA.<\/p>\n<p><strong>V\u00edcelet\u00e1 zku\u0161enost Behaimu zahrnuje<\/strong>: Instalace, nastaven\u00ed, konfigurace, shell skripty, p\u0159\u00edstup k&nbsp;dat\u016fm pomoc\u00ed JDBC z&nbsp;r\u016fzn\u00fdch klient\u016f, BI n\u00e1stroje (Spotfire, Tableau) atd.<\/p>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_92f78fe4316e6ca7d847909b5703e585\" data-id=\"uneven-doublecol-title-text-block_92f78fe4316e6ca7d847909b5703e585\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Spark<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>Apache Spark je open-source framework pro cluster computing. Nab\u00edz\u00ed developer\u016fm API zam\u011b\u0159en\u00e1 na datov\u00e9 struktury zvan\u00e9 Resilient Distributed Datasets (RDD), tedy read-only multiset datov\u00fdch polo\u017eek distribuovan\u00fd v&nbsp;r\u00e1mci clusteru po\u010d\u00edta\u010d\u016f, kter\u00fd je spravovan\u00fd jako fault-tolerant \u0159e\u0161en\u00ed.<\/p>\n<p>Byl vyvinut jako odpov\u011b\u010f na omezen\u00ed v\u00fdpo\u010detn\u00edho paradigmatu MapReduce clusteru: MapReduce programy \u010dtou vstupn\u00ed data z&nbsp;disku, mapuj\u00ed funkci p\u0159es cel\u00e1 data, redukuj\u00ed v\u00fdsledky mapy a&nbsp;ukl\u00e1daj\u00ed v\u00fdsledky redukce na disk. Spark RDD pracuj\u00ed jako pracovn\u00ed set pro distribuovan\u00e9 programy, kter\u00fd nab\u00edz\u00ed (z\u00e1m\u011brn\u011b) omezenou formu distribuovan\u00e9 sd\u00edlen\u00e9 pam\u011bti.<\/p>\n<p>Dostupnost RDD usnad\u0148uje implementace iterativn\u00edch algoritm\u016f, kter\u00e9 pracuj\u00ed se sv\u00fdmi datasety n\u011bkolikr\u00e1t ve smy\u010dce, a&nbsp;tak\u00e9 interaktivn\u00ed datovou anal\u00fdzu, nap\u0159.&nbsp;opakovan\u00e9 dotazov\u00e1n\u00ed na data ve stylu datab\u00e1ze. Latence takov\u00fdch aplikac\u00ed (v&nbsp;porovn\u00e1n\u00ed s&nbsp;Apache Hadoop, popul\u00e1rn\u00ed implementac\u00ed MapReduce) m\u016f\u017ee b\u00fdt i&nbsp;\u0159\u00e1dov\u011b ni\u017e\u0161\u00ed. Mezi iterativn\u00ed algoritmy pat\u0159\u00ed algoritmy pro strojov\u00e9 u\u010den\u00ed, kter\u00e9 byly prvotn\u00edm impulsem pro vznik Apache Spark.<\/p>\n<p><strong>S Apache Spark m\u00e1me dva roky zku\u0161enost\u00ed<\/strong>, zejm\u00e9na v&nbsp;\u010dinnostech jako<\/p>\n<ul>\n<li>Instalace, nastaven\u00ed, konfigurace a&nbsp;produk\u010dn\u00ed nasazen\u00ed<\/li>\n<li>Implementace v&nbsp;aplikac\u00edch (Java, Scala a&nbsp;dal\u0161\u00ed)<\/li>\n<li>Pou\u017eit\u00ed Mllib (v\u010detn\u011b Javy, R script\u016f apod.)<\/li>\n<\/ul>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_e7bf61c9458b44386ac8be8efc000bfe\" data-id=\"uneven-doublecol-title-text-block_e7bf61c9458b44386ac8be8efc000bfe\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Apache Zookeeper<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>ZooKeeper je distribuovan\u00e1, open-source koordina\u010dn\u00ed slu\u017eba pro distribuovan\u00e9 aplikace. Vystavuje jednoduchou sadu primitiv, na kter\u00fdch m\u016f\u017ee distribuovan\u00e1 aplikace implementovat slu\u017eby na vy\u0161\u0161\u00ed \u00farovni pro synchronizaci, spr\u00e1vu konfigurac\u00ed, skupiny a&nbsp;n\u00e1zvy. Jednodu\u0161e se do n\u00ed programuje, a&nbsp;pou\u017e\u00edv\u00e1 datov\u00fd model inspirovan\u00fd dob\u0159e zn\u00e1mou adres\u00e1\u0159ovou strukturou souborov\u00fdch syst\u00e9m\u016f.<\/p>\n<p>B\u011b\u017e\u00ed pod Javou a&nbsp;m\u00e1 bindingy pro Javu i&nbsp;C.<\/p>\n<p>Na\u0161e know-how v&nbsp;Zookeperu jsou nastaven\u00ed, konfigurace, produk\u010dn\u00ed deploymenty a&nbsp;implementace klientsk\u00fdch aplikac\u00ed vyu\u017e\u00edvaj\u00edc\u00ed API Zookeeperu.<\/p>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_4e5acbdf073caf1580b17c5fdc690493\" data-id=\"uneven-doublecol-title-text-block_4e5acbdf073caf1580b17c5fdc690493\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>Cloudera Impala<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>Cloudera Impala je dotazovac\u00ed engine, kter\u00fd b\u011b\u017e\u00ed nad Apache Hadoop. Projekt byl ozn\u00e1men v&nbsp;\u0159\u00edjnu 2012 jako ve\u0159ejn\u00e1 beta test distribuce a&nbsp;v\u0161eobecn\u011b dostupn\u00fd je od kv\u011btna 2013. Impala p\u0159in\u00e1\u0161\u00ed do Hadoopu \u0161k\u00e1lovatelnou paraleln\u00ed datab\u00e1zovou technologii, kter\u00e1 u\u017eivatel\u016fm dovoluje spou\u0161t\u011bt SQL dotazy s&nbsp;n\u00edzkou latenc\u00ed nad daty ulo\u017een\u00fdmi v&nbsp;HDFS a&nbsp;Apache Hbase bez toho, \u017ee by vy\u017eadovaly p\u0159esuny dat nebo transformace. Impala je integrovan\u00e1\u00a0 Hadoopem tak, aby pou\u017e\u00edvala stejn\u00e9 souborov\u00e9 a&nbsp;datov\u00e9 form\u00e1ty, metadata, bezpe\u010dnostn\u00ed a&nbsp;resource management frameworky pou\u017e\u00edvan\u00e9 MapReduce, Apache Hive a&nbsp;dal\u0161\u00edm Hadoop software.<\/p>\n<p>Implala je ur\u010den\u00e1 pro datov\u00e9 analytiky, kte\u0159\u00ed prov\u00e1d\u011bj\u00ed anal\u00fdzy nad daty ulo\u017een\u00fdmi v&nbsp;Hadoopu s&nbsp;pou\u017eit\u00edm SQL nebo BI n\u00e1stroj\u016f. V\u00fdsledkem je, \u017ee zpracov\u00e1n\u00ed velk\u00fdch objem\u016f (p\u0159es MapReduce) a&nbsp;a&nbsp;sou\u010dasn\u011b i&nbsp;interaktivn\u00ed dotazy mohou b\u00fdt prov\u00e1d\u011bny s&nbsp;pou\u017eit\u00edm stejn\u00fdch dat a&nbsp;metadat. Odstra\u0148uje se tak pot\u0159eba p\u0159enosu do specializovan\u00fdch syst\u00e9m\u016f a&nbsp;p\u0159evodu do propriet\u00e1rn\u00edch form\u00e1t\u016f jen proto, aby bylo mo\u017en\u00e9 prov\u00e1d\u011bt anal\u00fdzu.<\/p>\n<p><strong>S Impalou m\u00e1 Behaim n\u011bkolik let zku\u0161enost\u00ed<\/strong> v&nbsp;oblasti instalac\u00ed, nastaven\u00ed, konfigurac\u00ed, pou\u017eit\u00ed p\u0159es shell a&nbsp;p\u0159\u00edstup z&nbsp;r\u016fzn\u00fdch JDBC klient\u016f jako jsou BI n\u00e1stroje (Sporfire, Tableau) atd.<\/p>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"uneven-doublecol-title-text-block_e048b45fc63b41ad5f18adddeb7c7d4f\" data-id=\"uneven-doublecol-title-text-block_e048b45fc63b41ad5f18adddeb7c7d4f\" class=\"gt-block uneven-doublecol-title-text\">\n    <div class=\"container\">\n        <div class=\"cols-uneven\">\n            <div class=\"col short\">\n                                    <span class=\"line\"><\/span>\n                                                    <h2>H2O<\/h2>\n                            <\/div>\n            <div class=\"col wide\">\n                                    <span class=\"line line--invisible\"><\/span>\n                                                    <div class=\"uneven-doublecol-title-text__content wysiwyg-wrapper\"><p>H2O je open source software pro big data anal\u00fdzu. Vyr\u00e1b\u00ed jej start-up J2O.ai (d\u0159\u00edve 0xdata), kter\u00fd vzniknul v&nbsp;roce 2011 v&nbsp;Silicon Valley. V&nbsp;sou\u010dasnosti je H2O nejpou\u017e\u00edvan\u011bj\u0161\u00ed open source platforma pro strojov\u00e9 u\u010den\u00ed. H2O pou\u017e\u00edv\u00e1 70.000 datov\u00fdch analytik\u016f a&nbsp;v\u00edce ne\u017e 8.000 organizac\u00ed po&nbsp;cel\u00e9m sv\u011bt\u011b. H2O umo\u017e\u0148uje u\u017eivatel\u016fm aplikovat stovky nebo tis\u00edce mo\u017en\u00fdch model\u016f s&nbsp;c\u00edlem zji\u0161\u0165ovat vzory v&nbsp;datech.<\/p>\n<p>H2O m\u016f\u017ee b\u00fdt vol\u00e1n ze statistick\u00e9ho bal\u00edku R a&nbsp;dal\u0161\u00edch prost\u0159ed\u00ed. Pou\u017e\u00edv\u00e1 se pro zkoum\u00e1n\u00ed a&nbsp;anal\u00fdzu dataset\u016f ulo\u017een\u00fdch v&nbsp;cloudov\u00fdch v\u00fdpo\u010detn\u00edch syst\u00e9mech a&nbsp;Apache HDFS (Hadoop Distributed File System), a&nbsp;tak\u00e9 v&nbsp;konven\u010dn\u00edch opera\u010dn\u00edch syst\u00e9mech Linux, macOS a&nbsp;Microsoft Windows. H2O je naps\u00e1n v&nbsp;Jav\u011b, Pythonu a&nbsp;R.<\/p>\n<p>Zku\u0161enosti Behaimu s&nbsp;dod\u00e1vkami zahrnuj\u00ed: instalace cluster\u016f, nastaven\u00ed, konfigurace, deployment na produkci, tvorbu H2O model\u016f a&nbsp;pou\u017eit\u00ed z&nbsp;R skript\u016f.<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section id=\"form-title-centered-block_0c2b503323173327f93496cf06172f03\" data-id=\"form-title-centered-block_0c2b503323173327f93496cf06172f03\" class=\"gt-block form-title-centered ta-c\">\n    <div class=\"container container--thin\">\n                    <span class=\"line\"><\/span>\n                            <h2 class=\"form-title-centered__title\">Kontaktujte n\u00e1s<\/h2>\n                <div class=\"form-wrapper\">\n            <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n\/* ]]> *\/\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_2' >\n                        <div class='gform_heading'>\n\t\t\t\t\t\t\t<p class='gform_required_legend'>&quot;<span class=\"gfield_required gfield_required_asterisk\">*<\/span>&quot; indicates required fields<\/p>\n                        <\/div><form method='post' enctype='multipart\/form-data' target='gform_ajax_frame_2' id='gform_2'  action='\/cs\/wp-json\/wp\/v2\/pages\/2502' data-formid='2' novalidate>\n                        <div class='gform-body gform_body'><div id='gform_fields_2' class='gform_fields top_label form_sublabel_above description_above validation_below'><div id=\"field_2_10\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_above gfield--has-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_2_10'>Email<\/label><div class='gfield_description' id='gfield_description_2_10'>This field is for validation purposes and should be left unchanged.<\/div><div class='ginput_container'><input name='input_10' id='input_2_10' type='text' value='' autocomplete='new-password'\/><\/div><\/div><div id=\"field_2_4\" class=\"gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_2_4'>Jm\u00e9no a&nbsp;p\u0159\u00edjmen\u00ed<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_2_4' type='text' value='' class='large'   tabindex='1000'  aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_2_2\" class=\"gfield gfield--type-email gfield--input-type-email gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_2_2'>Email<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_2' id='input_2_2' type='email' value='' class='large' tabindex='1001'  placeholder='@' aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_2_5\" class=\"gfield gfield--type-phone gfield--input-type-phone gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_2_5'>Telefon<\/label><div class='ginput_container ginput_container_phone'><input name='input_5' id='input_2_5' type='tel' value='' class='large' tabindex='1002' placeholder='+420'  aria-invalid=\"false\"   \/><\/div><\/div><div id=\"field_2_3\" class=\"gfield gfield--type-textarea gfield--input-type-textarea gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_2_3'>Va\u0161e zpr\u00e1va<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_3' id='input_2_3' class='textarea medium' tabindex='1003'    aria-required=\"true\" aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><fieldset id=\"field_2_6\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield--width-full gfield_contains_required field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Consent<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/legend><div class='ginput_container ginput_container_consent'><input name='input_6.1' id='input_2_6_1' type='checkbox' value='1' tabindex='1004'  aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_2_6_1' >Souhlas\u00edm se <a href=\"https:\/\/behaimits.test-unifer.cz\/privacy-policy\/\" target=\"_blank\">z\u00e1sadami ochrany osobn\u00edch \u00fadaj\u016f<\/a>.<\/label><input type='hidden' name='input_6.2' value='Souhlas\u00edm se &lt;a href=&quot;https:\/\/behaimits.test-unifer.cz\/privacy-policy\/&quot; target=&quot;_blank&quot;&gt;z\u00e1sadami ochrany osobn\u00edch \u00fadaj\u016f&lt;\/a&gt;.' class='gform_hidden' \/><input type='hidden' name='input_6.3' value='2' class='gform_hidden' \/><\/div><\/fieldset><div id=\"field_2_9\" class=\"gfield gfield--type-captcha gfield--input-type-captcha gfield--width-full field_sublabel_above gfield--no-description field_description_above hidden_label field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_2_9'>CAPTCHA<\/label><div id='input_2_9' class='ginput_container ginput_recaptcha' data-sitekey='6LdOVTEpAAAAAMFCsByB-snhBYHXDpio2OYSKrVg'  data-theme='light' data-tabindex='1005'  data-badge=''><\/div><\/div><div id=\"field_2_7\" class=\"gfield gfield--type-hidden gfield--input-type-hidden gfield--width-full gform_hidden field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><div class='ginput_container ginput_container_text'><input name='input_7' id='input_2_7' type='hidden' class='gform_hidden'  aria-invalid=\"false\" value='Hadoop' \/><\/div><\/div><div id=\"field_2_8\" class=\"gfield gfield--type-hidden gfield--input-type-hidden gfield--width-full gform_hidden field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><div class='ginput_container ginput_container_text'><input name='input_8' id='input_2_8' type='hidden' class='gform_hidden'  aria-invalid=\"false\" value='https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/' \/><\/div><\/div><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_2' class='gform_button btn sendBtn'>Odeslat<\/button> <input type='hidden' name='gform_ajax' value='form_id=2&amp;title=&amp;description=&amp;tabindex=49&amp;theme=gravity-theme&amp;styles=[]&amp;hash=d12247ff5ee24a0e353324136910ce87' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_2' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_2' id='gform_theme_2' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_2' id='gform_style_settings_2' value='[]' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_2' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='2' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='MUQaoNuK56qKhrAWQWgbWZExTW\/Zi5ptegq0AzJspqLFB2MI6a+XaewSToAejVzjDyLSJ1sluXkWsCvy17BLD6AE1Xriljn0SkhJHGZb4nt04p4=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_2' value='WyJ7XCI2LjFcIjpcIjU5N2Y1NTkwZGMxNmExYzdmN2Q2YTRiN2FhMjEyNDVhXCIsXCI2LjJcIjpcIjYwNzBkZDJlMTBlZGQ5NmY1N2QzYzhlYWUwYjE5NjQyXCIsXCI2LjNcIjpcIjliMDlhNGYzOGVhODA0M2Q5NDVhZjJjYzA3Zjg1OWY3XCJ9IiwiNWNjZGZmMmZkNDk5NjRiYTdhZGZmYzM4OGJmMDBjNmQiXQ==' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_2' id='gform_target_page_number_2' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_2' id='gform_source_page_number_2' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_2' id='gform_ajax_frame_2' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n gform.initializeOnLoaded( function() {gformInitSpinner( 2, 'https:\/\/behaimits.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_2').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_2');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_2').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_2').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_2').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_2').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_2').val();gformInitSpinner( 2, 'https:\/\/behaimits.com\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [2, current_page]);window['gf_submitting_2'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_2').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [2]);window['gf_submitting_2'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_2').text());}else{jQuery('#gform_2').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"2\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_2\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_2\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_2\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 2, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} ); \n\/* ]]> *\/\n<\/script>\n        <\/div>\n    <\/div>\n<\/section>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":23,"featured_media":0,"parent":2324,"menu_order":53,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2502","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hadoop - Behaim IT Solutions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/\" \/>\n<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hadoop - Behaim IT Solutions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/\" \/>\n<meta property=\"og:site_name\" content=\"Behaim IT Solutions\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-11T23:46:13+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/\",\"url\":\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/\",\"name\":\"Hadoop - Behaim IT Solutions\",\"isPartOf\":{\"@id\":\"https:\/\/behaimits.com\/#website\"},\"datePublished\":\"2023-12-11T23:23:16+00:00\",\"dateModified\":\"2023-12-11T23:46:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/#breadcrumb\"},\"inLanguage\":\"cs\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\u016f\",\"item\":\"https:\/\/behaimits.com\/cs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrace\",\"item\":\"https:\/\/behaimits.com\/integration\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"OpenSource Integrace\",\"item\":\"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Hadoop\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/behaimits.com\/#website\",\"url\":\"https:\/\/behaimits.com\/\",\"name\":\"Behaim IT Solutions\",\"description\":\"Dedication to Customers and IT Excellence\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/behaimits.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"cs\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hadoop - Behaim IT Solutions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/","og_locale":"cs_CZ","og_type":"article","og_title":"Hadoop - Behaim IT Solutions","og_url":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/","og_site_name":"Behaim IT Solutions","article_modified_time":"2023-12-11T23:46:13+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/","url":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/","name":"Hadoop - Behaim IT Solutions","isPartOf":{"@id":"https:\/\/behaimits.com\/#website"},"datePublished":"2023-12-11T23:23:16+00:00","dateModified":"2023-12-11T23:46:13+00:00","breadcrumb":{"@id":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/#breadcrumb"},"inLanguage":"cs","potentialAction":[{"@type":"ReadAction","target":["https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/hadoop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom\u016f","item":"https:\/\/behaimits.com\/cs\/"},{"@type":"ListItem","position":2,"name":"Integrace","item":"https:\/\/behaimits.com\/integration\/"},{"@type":"ListItem","position":3,"name":"OpenSource Integrace","item":"https:\/\/behaimits.com\/cs\/integration\/opensource-middleware-integration\/"},{"@type":"ListItem","position":4,"name":"Hadoop"}]},{"@type":"WebSite","@id":"https:\/\/behaimits.com\/#website","url":"https:\/\/behaimits.com\/","name":"Behaim IT Solutions","description":"Dedication to Customers and IT Excellence","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/behaimits.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"cs"}]}},"_links":{"self":[{"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/pages\/2502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/comments?post=2502"}],"version-history":[{"count":26,"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/pages\/2502\/revisions"}],"predecessor-version":[{"id":2542,"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/pages\/2502\/revisions\/2542"}],"up":[{"embeddable":true,"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/pages\/2324"}],"wp:attachment":[{"href":"https:\/\/behaimits.com\/cs\/wp-json\/wp\/v2\/media?parent=2502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}