{"id":87609,"date":"2020-07-09T01:42:11","date_gmt":"2020-07-08T23:42:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum"},"modified":"2020-07-09T01:42:11","modified_gmt":"2020-07-08T23:42:11","slug":"kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum","title":{"rendered":"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>For nogen tid siden stod vi overfor sp\u00f8rgsm\u00e5let om valg af ETL-v\u00e6rkt\u00f8j til arbejde med Big Data. Den tidligere anvendte l\u00f8sning, Informatica BDM, tilfredsstillede os ikke p\u00e5 grund af dens begr\u00e6nsede funktionalitet. Dens brug blev reduceret til et framework til at k\u00f8re spark-submit kommandoer. Der var ikke s\u00e5 mange alternativer p\u00e5 markedet, der i princippet kunne arbejde med det datavolumen, vi st\u00e5r overfor dagligt. I sidste ende valgte vi Ab Initio. Under pilottestene viste produktet en meget h\u00f8j databehandlinghastighed. Der er n\u00e6sten ingen information om Ab Initio p\u00e5 russisk, derfor besluttede vi at dele vores erfaring p\u00e5 Habr.<\/p>\n<p>Ab Initio har mange klassiske og us\u00e6dvanlige transformationer, hvis kode kan udvides med det eget sprog PDL. For sm\u00e5 virksomheder vil et s\u00e5 kraftigt v\u00e6rkt\u00f8j sandsynligvis v\u00e6re overkill, og de fleste af dets funktioner kan vise sig at v\u00e6re dyre og ubenyttede. Men hvis dine skalaer n\u00e6rmer sig Sberbank-niveau, kan Ab Initio v\u00e6re interessant for dig. <\/p>\n<p>Det hj\u00e6lper virksomheder globalt med at ophobe viden og udvikle \u00f8kosystemet, mens det giver udvikleren mulighed for at forbedre sine f\u00e6rdigheder inden for ETL, styrke sine kendskaber til shell, giver mulighed for at l\u00e6re PDL-sproget, giver et visuelt overblik over indl\u00e6sningsprocesserne og forenkler udviklingen takket v\u00e6re det store antal funktionelle komponenter.<\/p>\n<p>I dette indl\u00e6g vil jeg fort\u00e6lle om mulighederne i Ab Initio og give sammenlignende karakteristika for dets arbejde med Hive og GreenPlum.<\/p>\n<ul>\n<li>Beskrivelse af MDW-frameworket og arbejdet med dens tilpasning til GreenPlum<\/li>\n<li>Sammenlignende karakteristika for ydelsen af Ab Initio ved arbejde med Hive og GreenPlum<\/li>\n<li>Ab Initios arbejde med GreenPlum i Near Real Time-tilstand<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nFunktionaliteten af dette produkt er meget omfattende og kr\u00e6ver en del tid til at blive sat i standen. Men med de rette f\u00e6rdigheder og de korrekte ydeevneindstillinger kan resultaterne af databehandlingen v\u00e6re ganske imponerende. Brug af Ab Initio kan give udvikleren en interessant erfaring. Det er et nyt perspektiv p\u00e5 ETL-udvikling, en hybrid mellem et visuelt milj\u00f8 og udviklingen af indl\u00e6sninger p\u00e5 et script-lignende sprog.<\/p>\n<p>Virksomheder udvikler deres \u00f8kosystemer, og dette v\u00e6rkt\u00f8j kommer p\u00e5 et meget passende tidspunkt. Med Ab Initio kan man samle viden om den aktuelle forretning og bruge denne viden til at udvide gamle og \u00e5bne nye forretninger. Alternativer til Ab Initio inkluderer de visuelle udviklingsmilj\u00f8er Informatica BDM og de ikke-visuelle milj\u00f8er \u2013 Apache Spark.<\/p>\n<h3>Beskrivelse af Ab Initio<\/h3>\n<p>\nAb Initio, ligesom andre ETL-v\u00e6rkt\u00f8jer, er et s\u00e6t produkter.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/c467fe1e8455805075856967b577f8b7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAb Initio GDE (Graphical Development Environment) er et milj\u00f8 for udviklere, hvor de konfigurerer datatransformationer og forbinder dem i datastr\u00f8mme i form af pile. Et s\u00e6t af s\u00e5danne transformationer kaldes et graf:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/7b0c19a82ae8b461a9bd85117555e106.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nInd- og udgangsforbindelser af funktionelle komponenter er porte og indeholder felter beregnet inden for transformationerne. Flere grafer, forbundet med str\u00f8mme i form af pile i r\u00e6kkef\u00f8lge af deres udf\u00f8relse, kaldes et plan.<\/p>\n<p>Der er flere hundrede funktionelle komponenter, hvilket er meget. Mange af dem er specialiserede. Mulighederne for klassiske transformationer i Ab Initio er bredere end i andre ETL-v\u00e6rkt\u00f8jer. For eksempel har Join flere udgange. Udover resultatet af sammensmeltning af datas\u00e6t kan man ogs\u00e5 f\u00e5 optagelser af indg\u00e5ende datas\u00e6t, som ikke kunne forbindes. Man kan ogs\u00e5 f\u00e5 rejects, errors og en log over transformationens arbejde, som kan l\u00e6ses i denne graf som en tekstfil og behandles af andre transformationer:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/c7d70879daad364a3d4aa41a0a1b738d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEller man kan for eksempel materialisere datamodtageren som en tabel og i denne graf l\u00e6se data fra den.<\/p>\n<p>Der er originale transformationer. For eksempel fungerer transformationen Scan p\u00e5 en m\u00e5de, der ligner analytiske funktioner. Der er transformationer med sigende navne: Create Data, Read Excel, Normalize, Sort within Groups, Run Program, Run SQL, Join with DB osv. Grafer kan bruge parametre ved k\u00f8rselstid, herunder muligheden for at overf\u00f8re parametre fra operativsystemet eller til operativsystemet. Filer med et klart s\u00e6t af parametre, der skal overf\u00f8res til grafen, kaldes parameter sets (psets).<\/p>\n<p>Som det siges, har Ab Initio GDE sit eget repository, kaldet EME (Enterprise Meta Environment). Udviklere har mulighed for at arbejde med lokale versioner af koden og lave check in af deres udviklinger i det centrale repository.<\/p>\n<p>Det er muligt at klikke p\u00e5 enhver forbindelse af transformationen af grafen under eller efter k\u00f8rsel og se p\u00e5 de data, der er g\u00e5et mellem disse transformationer:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/a674507b2cd25b980cb862bda2e10cbe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDer er ogs\u00e5 mulighed for at klikke p\u00e5 enhver str\u00f8m og se tracking details \u2013 hvor mange paralleller transformationen arbejdede i, hvor mange r\u00e6kker og bytes der blev indl\u00e6st i hvilken af parallellerne:<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/6188d17bebe756ee59e6956f9a40ec43.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet er muligt at opdele udf\u00f8relsen af grafen i faser og markere, at nogle transformationer skal udf\u00f8res f\u00f8rst (i nulfasen), de n\u00e6ste i f\u00f8rste fase, de n\u00e6ste i anden fase osv.<\/p>\n<p>For hver transformation kan man v\u00e6lge en s\u00e5kaldt layout (hvor den vil blive udf\u00f8rt): uden paralleller eller i parallelle str\u00f8mme, hvis antal kan angives. De midlertidige filer, som Ab Initio opretter under arbejdet med transformationer, kan placeres b\u00e5de i filsystemet <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/da\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3635\">server<\/a>, s\u00e5vel som i HDFS.<\/p>\n<p>I hver transformation baseret p\u00e5 standard skabelon kan man oprette sit eget script i PDL-sproget, som minder lidt om shell. <\/p>\n<p>Med PDL-sproget kan du udvide funktionaliteten af transformationer og specifikt generere vilk\u00e5rlige kodefragmenter dynamisk (under k\u00f8rsel) afh\u00e6ngig af runtime-parameterne.<\/p>\n<p>Derudover er integrationen med OS gennem shell godt udviklet i Ab Initio. Specifikt i Sberbank anvendes linux ksh. Man kan udveksle variabler med shell og bruge dem som parameter i grafen. Man kan ogs\u00e5 kalde udf\u00f8relsen af Ab Initio-grafen fra shell og administrere Ab Initio.<\/p>\n<p>Udover Ab Initio GDE leveres mange andre produkter. Der er eget Co&gt;Operation System, der h\u00e6vder at v\u00e6re et operativsystem. Der er Control&gt;Center, hvor man kan planl\u00e6gge og overv\u00e5ge indl\u00e6sningsstr\u00f8mme. Der er produkter til udvikling p\u00e5 et mere primitivt niveau end hvad Ab Initio GDE tillader.<\/p>\n<h3>Beskrivelse af MDW-frameworket og arbejdet med dens tilpasning til GreenPlum<\/h3>\n<p>\nSammen med sine produkter leverer leverand\u00f8ren produktet MDW (Metadata Driven Warehouse), som er en konfigureringsv\u00e6rkt\u00f8j til grafer designet til at hj\u00e6lpe med typiske opgaver i datalagring eller data vaults.<\/p>\n<p>Det indeholder brugerdefinerede (projektspecifikke) metadata-parsere og f\u00e6rdige kodegeneratorer \u201cout of the box\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/0842ecb9550f369875103ccb23cdf121.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMDW modtager en datamodel, en konfigurationsfil til ops\u00e6tning af forbindelse til databasen (Oracle, Teradata eller Hive) samt nogle andre indstillinger. Den projektspecifikke del, for eksempel, implementerer modellen i databasen. Produktets standarddel genererer grafer og konfigurationsfiler til dem ved indl\u00e6sning af data i modeltabellerne. I denne proces oprettes der grafer (og psets) til flere tilstande af indledende og inkrementel opdatering af enheder.<\/p>\n<p>I tilf\u00e6lde af Hive og RDBMS genereres forskellige grafer til indledende og inkrementel opdatering af data.<\/p>\n<p>I tilf\u00e6lde af Hive kombineres de modtagne delta-data med de data, der allerede var i tabellen f\u00f8r opdateringen, ved hj\u00e6lp af Ab Initio Join. Dataopladere i MDW (b\u00e5de i Hive og RDBMS) inds\u00e6tter ikke kun de nye data fra deltaen, men afslutter ogs\u00e5 datavaliditetsperioderne for de prim\u00e6re n\u00f8gler, som deltaen kom ind for. Desuden skal den u\u00e6ndrede del af dataene skrives om igen. Men det er n\u00f8dvendigt, da Hive ikke har delete- eller update-operationer.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/36b6dd7c4d45727ad7d7aa1183fdd5fd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI tilf\u00e6lde af RDBMS ser graferne for inkrementel opdatering af data mere optimale ud, fordi RDBMS har reelle opdateringsmuligheder.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/b62ac222bed575a60b632b13e012f603.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDen ankomne delta indl\u00e6ses i en midlertidig tabel i databasen. Herefter forbindes deltaen med de data, der var i tabellen f\u00f8r opdateringen. Dette g\u00f8res ved hj\u00e6lp af SQL via en genereret SQL-foresp\u00f8rgsel. Herefter inds\u00e6ttes de nye data fra deltaen i m\u00e5l tabellen ved hj\u00e6lp af SQL-kommandoer til delete+insert, og datavaliditetsperioderne afsluttes for de prim\u00e6re n\u00f8gler, som deltaen kom ind for. <br \/>\nDer er ikke behov for at skrive de u\u00e6ndrede data om.<\/p>\n<p>Dermed konkluderede vi, at i tilf\u00e6lde af Hive skal MDW g\u00e5 ind for at omskrive hele tabellen, fordi Hive ikke har opdateringsfunktion. Der er ikke noget bedre end at omskrive dataene helt ved opdatering. I tilf\u00e6lde af RDBMS ans\u00e5 produktudviklerne dog for n\u00f8dvendigt at overlade forbindelsen og opdateringen af tabellerne til brugen af SQL.<\/p>\n<p>For the Sberbank project, we created a new reusable implementation of a database loader for GreenPlum. This was based on the version generated by MDW for Teradata. It was Teradata, not Oracle, that was more suitable and closer in nature as it is also an MPP system. The working methods and syntax of Teradata and GreenPlum turned out to be similar.<\/p>\n<p>Examples of critical differences for MDW between different RDBMS are as follows. In GreenPlum, unlike Teradata, when creating tables, one needs to write a clause<\/p>\n<pre><code class=\"sql\">distributed by<\/code><\/pre>\n<p>\nIn Teradata, one writes<\/p>\n<pre><code class=\"sql\">slet &lt;table&gt; alle<\/code><\/pre>\n<p>\n, while in GreenPlum, one writes<\/p>\n<pre><code class=\"sql\">slet fra &lt;table&gt;<\/code><\/pre>\n<p>\nIn Oracle, for optimization purposes, one writes<\/p>\n<pre><code class=\"sql\">delete from t where rowid in ()<\/code><\/pre>\n<p>\n, while in Teradata and GreenPlum, one writes<\/p>\n<pre><code class=\"sql\">delete from t where exists (select * from delta where delta.pk=t.pk)<\/code><\/pre>\n<p>\nIt should also be noted that for Ab Initio to work with GreenPlum, the GreenPlum client had to be installed on all nodes of the Ab Initio cluster. This is because we connected to GreenPlum simultaneously from all nodes of our cluster. To ensure that reading from GreenPlum was parallel and each parallel Ab Initio stream read its portion of data from GreenPlum, it was necessary to include an Ab Initio-recognizable construct in the \"where\" section of the SQL queries<\/p>\n<pre><code class=\"sql\">where ABLOCAL()<\/code><\/pre>\n<p>\nand define the value of this construct by specifying the parameter for the transformation reading from the DB<\/p>\n<pre><code class=\"sql\">ablocal_expr=\u00abstring_concat(&quot;mod(t.&quot;, string_filter_out(&quot;{$TABLE_KEY}&quot;, &quot;{}&quot;), &quot;,&quot;, (decimal(3))(number_of_partitions()), &quot;)=&quot;, (decimal(3))(this_partition()))\u00bb<\/code><\/pre>\n<p>\n, which compiles into something like<\/p>\n<pre><code class=\"sql\">mod(sk,10)=3<\/code><\/pre>\n<p>\n, i.e., it is necessary to provide GreenPlum an explicit filter for each partition. For other databases (Teradata, Oracle), Ab Initio can perform this parallelization automatically.<\/p>\n<h3>Sammenlignende karakteristika for ydelsen af Ab Initio ved arbejde med Hive og GreenPlum<\/h3>\n<p>\nAn experiment was conducted at Sberbank to compare the performance of the generated MDW graphs for Hive and GreenPlum. In this experiment, there were 5 nodes for Hive on the same cluster as Ab Initio, while GreenPlum had 4 nodes on a separate cluster. Hence, Hive had some advantage over GreenPlum in terms of hardware.<\/p>\n<p>Two pairs of graphs were examined, performing the same data update task in Hive and GreenPlum. The graphs generated by the MDW configurator were run:<\/p>\n<ul>\n<li>initial load + incremental loading of randomly generated data into the Hive table<\/li>\n<li>initial load + incremental loading of randomly generated data into the equivalent GreenPlum table<\/li>\n<\/ul>\n<p>\nI begge tilf\u00e6lde (Hive og GreenPlum) k\u00f8rte vi indl\u00e6sninger i 10 parallelle str\u00f8mme p\u00e5 den samme Ab Initio-klynge. Mellemdata til beregningerne blev gemt i HDFS (i Ab Initio-termer blev der anvendt MFS layout using HDFS). En r\u00e6kke tilf\u00e6ldigt genererede data tog i begge tilf\u00e6lde 200 byte.<\/p>\n<p>Resultatet blev:<\/p>\n<p><b>Hive:<\/b><\/p>\n<p><b>Initieringsindl\u00e6sning i Hive<\/b><\/p>\n<p>Indsat r\u00e6kker<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Varighed af initieringsindl\u00e6sning<br \/>\ni sekunder<br \/>\n41<br \/>\n203<br \/>\n1 601<\/p>\n<p><b>Inkrementel indl\u00e6sning i Hive<\/b><\/p>\n<p>Antal r\u00e6kker, der var i<br \/>\nm\u00e5lrettet tabel ved eksperimentets start<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Antal delta r\u00e6kker, der blev anvendt p\u00e5<br \/>\nden m\u00e5lrettede tabel under eksperimentet<br \/>\n6 000 000<br \/>\n6 000 000<br \/>\n6 000 000<\/p>\n<p>Varighed af den inkrementelle<br \/>\ni sekunder<br \/>\n88<br \/>\n299<br \/>\n<b>2 541<\/b><\/p>\n<p>\n<b>GreenPlum:<\/b><\/p>\n<p><b>Initieringsindl\u00e6sning i GreenPlum<\/b><\/p>\n<p>Indsat r\u00e6kker<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Varighed af initieringsindl\u00e6sning<br \/>\ni sekunder<br \/>\n72<br \/>\n360<br \/>\n3 631<\/p>\n<p><b>Inkrementel indl\u00e6sning i GreenPlum<\/b><\/p>\n<p>Antal r\u00e6kker, der var i<br \/>\nm\u00e5lrettet tabel ved eksperimentets start<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Antal delta r\u00e6kker, der blev anvendt p\u00e5<br \/>\nden m\u00e5lrettede tabel under eksperimentet<br \/>\n6 000 000<br \/>\n6 000 000<br \/>\n6 000 000<\/p>\n<p>Varighed af den inkrementelle<br \/>\ni sekunder<br \/>\n159<br \/>\n199<br \/>\n<b>321<\/b><\/p>\n<p>\nVi ser, at hastigheden af den initierende indl\u00e6sning b\u00e5de i Hive og i GreenPlum er linear afh\u00e6ngig af datam\u00e6ngden, og p\u00e5 grund af bedre hardware er den noget hurtigere for Hive end for GreenPlum.<\/p>\n<p>Den inkrementelle indl\u00e6sning i Hive er ogs\u00e5 linear afh\u00e6ngig af m\u00e6ngden af tidligere indl\u00e6ste data i den m\u00e5lrettede tabel og foreg\u00e5r ret langsomt med stigende m\u00e6ngde. Dette skyldes, at det er n\u00f8dvendigt at skrive den m\u00e5lrettede tabel helt om. Det betyder, at anvendelse af sm\u00e5 \u00e6ndringer i store tabeller \u2013 ikke er en s\u00e6rlig god brug for Hive.<\/p>\n<p>Den inkrementelle indl\u00e6sning i GreenPlum er derimod svagt afh\u00e6ngig af m\u00e6ngden af tidligere indl\u00e6ste data i den m\u00e5lrettede tabel og foreg\u00e5r ret hurtigt. Dette er muligt takket v\u00e6re SQL Joins og arkitekturen i GreenPlum, der tillader delete-operationer.<\/p>\n<p>S\u00e5ledes inds\u00e6tter GreenPlum deltaen ved hj\u00e6lp af delete+insert, mens Hive ikke har delete eller update-operationer, derfor var hele datas\u00e6ttet tvunget til at blive skrevet om ved inkrementel opdatering. Det mest sl\u00e5ende sammenligning er af de fremh\u00e6vede fed skuffer, da de svarer til den mest almindelige brug af ressourcekr\u00e6vende indl\u00e6sninger. Vi ser, at GreenPlum vandt over Hive i denne test med 8 gange.<\/p>\n<h3>Ab Initios arbejde med GreenPlum i Near Real Time-tilstand<\/h3>\n<p>\nI dette eksperiment vil vi teste, om Ab Initio kan udf\u00f8re en opdatering af GreenPlum-tabellen med tilf\u00e6ldigt genererede datam\u00e6ngder i en tilstand t\u00e6t p\u00e5 realtid. Lad os overveje tabellen GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval, som arbejdet vil blive udf\u00f8rt med.<\/p>\n<p>Vi vil bruge tre Ab Initio-grafer til at arbejde med den:<\/p>\n<p>1) Graf Create_test_data.mp \u2013 opretter i 10 parallelle tr\u00e5de filer med data i HDFS med 6.000.000 r\u00e6kker. Dataene er tilf\u00e6ldige, deres struktur er organiseret til inds\u00e6ttelse i vores tabel.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/8cac605c1c5931313bd016a48fb6384e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/b86988bf1722329bde60013ba025d600.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n2) Graf mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset \u2013 genereret MDW-graf til den initielle inds\u00e6ttelse af data i vores tabel i 10 parallelle tr\u00e5de (testdata genereret af graf (1)).<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/b4228a13c088c6b96abba35e9e58fe8e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n3) Graf mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset \u2013 genereret MDW-graf til inkrementel opdatering af vores tabel i 10 parallelle tr\u00e5de med brug af en portion friske indkomne data (deltaer), genereret af graf (1).<\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/714a901616cf84e5a1fd7a764373e30f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi vil udf\u00f8re nedenst\u00e5ende scenarie i NRT-tilstand:<\/p>\n<ul>\n<li>generere 6.000.000 testlinjer.<\/li>\n<li>foretage den initiale indl\u00e6sning inds\u00e6tte 6.000.000 testlinjer i en tom tabel.<\/li>\n<li>gentage den inkrementelle indl\u00e6sning 5 gange.\n<ul>\n<li>generere 6.000.000 testlinjer.<\/li>\n<li>foretage en inkrementel inds\u00e6ttelse af 6.000.000 testlinjer i tabellen (mens de gamle data f\u00e5r tildelt udl\u00f8bstidspunkt valid_to_ts, og nyere data med samme prim\u00e6re n\u00f8gle inds\u00e6ttes).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\nDette scenarie emulerer tilstanden fra en virkelig forretningssystem \u2013 i realtid tilf\u00f8jes en betydelig m\u00e6ngde nye data og integreres straks i GreenPlum.<\/p>\n<p>Lad os nu se loggen for scenariets k\u00f8rsel:<\/p>\n<p><i>Start Create_test_data.input.pset den 2020-06-04 11:49:11.<br \/>\nAfslut Create_test_data.input.pset den 2020-06-04 11:49:37.<br \/>\nStart mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:49:37.<br \/>\nAfslut mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:50:42.<br \/>\nStart Create_test_data.input.pset den 2020-06-04 11:50:42.<br \/>\nAfslut Create_test_data.input.pset den 2020-06-04 11:51:06.<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:51:06.<br \/>\nAfslut mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:53:41.<br \/>\nStart Create_test_data.input.pset den 2020-06-04 11:53:41.<br \/>\nAfslut Create_test_data.input.pset den 2020-06-04 11:54:04.<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:54:04.<br \/>\nAfslut mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:56:51.<br \/>\nStart Create_test_data.input.pset den 2020-06-04 11:56:51.<br \/>\nAfslut Create_test_data.input.pset den 2020-06-04 11:57:14.<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:57:14.<br \/>\nAfslut mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 11:59:55.<br \/>\nStart Create_test_data.input.pset den 2020-06-04 11:59:55.<br \/>\nAfslut Create_test_data.input.pset den 2020-06-04 12:00:23.<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 12:00:23.<br \/>\nAfslut mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 12:03:23.<br \/>\nStart Create_test_data.input.pset den 2020-06-04 12:03:23.<br \/>\nAfslut Create_test_data.input.pset den 2020-06-04 12:03:49.<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 12:03:49<br \/>\nFinish mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset den 2020-06-04 12:06:46<\/i><\/p>\n<p>Det ser s\u00e5ledes ud:<\/p>\n<p>Graf<br \/>\nStarttid<br \/>\nSluttid<br \/>\nL\u00e6ngde<\/p>\n<p>Create_test_data.input.pset<br \/>\n04.06.2020 11:49:11<br \/>\n04.06.2020 11:49:37<br \/>\n00:00:26<\/p>\n<p>mdw_load.day_one.current.<br \/>\ndev42_1_db_usl_testing_subj_org_finval.pset<br \/>\n04.06.2020 11:49:37<br \/>\n04.06.2020 11:50:42<br \/>\n00:01:05<\/p>\n<p>Create_test_data.input.pset<br \/>\n04.06.2020 11:50:42<br \/>\n04.06.2020 11:51:06<br \/>\n00:00:24<\/p>\n<p>mdw_load.regular.current.<br \/>\ndev42_1_db_usl_testing_subj_org_finval.pset<br \/>\n04.06.2020 11:51:06<br \/>\n04.06.2020 11:53:41<br \/>\n00:02:35<\/p>\n<p>Create_test_data.input.pset<br \/>\n04.06.2020 11:53:41<br \/>\n04.06.2020 11:54:04<br \/>\n00:00:23<\/p>\n<p>mdw_load.regular.current.<br \/>\ndev42_1_db_usl_testing_subj_org_finval.pset<br \/>\n04.06.2020 11:54:04<br \/>\n04.06.2020 11:56:51<br \/>\n00:02:47<\/p>\n<p>Create_test_data.input.pset<br \/>\n04.06.2020 11:56:51<br \/>\n04.06.2020 11:57:14<br \/>\n00:00:23<\/p>\n<p>mdw_load.regular.current.<br \/>\ndev42_1_db_usl_testing_subj_org_finval.pset<br \/>\n04.06.2020 11:57:14<br \/>\n04.06.2020 11:59:55<br \/>\n00:02:41<\/p>\n<p>Create_test_data.input.pset<br \/>\n04.06.2020 11:59:55<br \/>\n04.06.2020 12:00:23<br \/>\n00:00:28<\/p>\n<p>mdw_load.regular.current.<br \/>\ndev42_1_db_usl_testing_subj_org_finval.pset<br \/>\n04.06.2020 12:00:23<br \/>\n04.06.2020 12:03:23<br \/>\n00:03:00<\/p>\n<p>Create_test_data.input.pset<br \/>\n04.06.2020 12:03:23<br \/>\n04.06.2020 12:03:49<br \/>\n00:00:26<\/p>\n<p>mdw_load.regular.current.<br \/>\ndev42_1_db_usl_testing_subj_org_finval.pset<br \/>\n04.06.2020 12:03:49<br \/>\n04.06.2020 12:06:46<br \/>\n00:02:57<\/p>\n<p>\nVi ser, at 6.000.000 r\u00e6kker inkrementelt behandles p\u00e5 3 minutter, hvilket er ganske hurtigt.<br \/>\nDataene i den m\u00e5lrettede tabel er blevet fordelte p\u00e5 f\u00f8lgende m\u00e5de:<\/p>\n<pre><code class=\"sql\">select valid_from_ts, valid_to_ts, count(1), min(sk), max(sk) from dev42_1_db_usl.TESTING_SUBJ_org_finval group by valid_from_ts, valid_to_ts order by 1,2;<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"N\u00e5r du har Sberbank-st\u00f8rrelser. Brug af Ab Initio i arbejde med Hive og GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/baefcfd8142f4ad6275333e3dcfccf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDet er muligt at se overensstemmelsen mellem de indtastede data og grafens opstartstidspunkter.<br \/>\nDet betyder, at man kan k\u00f8re inkrementelle dataindl\u00e6sninger til GreenPlum i Ab Initio med meget h\u00f8j frekvens og observere h\u00f8j hastighed ved inds\u00e6ttelse af disse data i GreenPlum. Selvf\u00f8lgelig vil det ikke v\u00e6re muligt at k\u00f8re hvert sekund, da Ab Initio, ligesom ethvert ETL-v\u00e6rkt\u00f8j, kr\u00e6ver tid til 'opstart'.<\/p>\n<h2>Konklusion<\/h2>\n<p>\nI \u00f8jeblikket anvendes Ab Initio i Sberbank til at opbygge et samlet semantisk datalag (ESS). Dette projekt involverer udviklingen af en samlet version af tilstanden for forskellige bankforretningsenheder. Oplysningerne kommer fra forskellige kilder, hvis replikaer forberedes p\u00e5 Hadoop. Baseret p\u00e5 forretningsbehovene udarbejdes en datamodel, og data transformations beskrives. Ab Initio indl\u00e6ser oplysninger i ESS, og de indl\u00e6ste data er ikke kun interessante for forretningen i sig selv, men ogs\u00e5 en kilde til opbygning af datavitriner. Produktets funktionalitet muligg\u00f8r brug af forskellige systemer (Hive, Greenplum, Teradata, Oracle) som modtager, hvilket g\u00f8r det muligt at forberede data til virksomheden i de forskellige formater, der er n\u00f8dvendige.<\/p>\n<p>Ab Initios muligheder er omfattende; for eksempel g\u00f8r den medf\u00f8lgende MDW-ramme det muligt at bygge teknisk og forretningshistorik af data 'out of the box'. For udviklere tilbyder Ab Initio muligheden for ikke at 'opfinde hjulet' igen, men at bruge mange eksisterende funktionelle komponenter, der i bund og grund er biblioteker, der er n\u00f8dvendige ved arbejde med data.<\/p>\n<blockquote><p>Forfatteren er en ekspert i Sberbanks professionelle f\u00e6llesskab SberProfi DWH\/BigData. Det professionelle f\u00e6llesskab SberProfi DWH\/BigData er ansvarligt for udviklingen af kompetencer inden for omr\u00e5der som Hadoop-\u00f8kosystemet, Teradata, Oracle DB, GreenPlum, samt BI-v\u00e6rkt\u00f8jer som Qlik, SAP BO, Tableau osv.<\/p><\/blockquote>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/509936\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u044b\u0431\u043e\u0440\u0430 ETL-\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 BigData. \u0420\u0430\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0435\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0435 Informatica BDM \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e \u043d\u0430\u0441 \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0415\u0451 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u0435\u043b\u043e\u0441\u044c \u043a \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0443 \u043f\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043a\u043e\u043c\u0430\u043d\u0434 spark-submit. \u041d\u0430 \u0440\u044b\u043d\u043a\u0435 \u0438\u043c\u0435\u043b\u043e\u0441\u044c \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0435\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u044b\u0431\u043e\u0440\u0430 ETL-\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 BigData. \u0420\u0430\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0435\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0435 Informatica BDM \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e \u043d\u0430\u0441 \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 \u0441\u0431\u0435\u0440\u043e\u0432\u0441\u043a\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Ab Initio \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Hive \u0438 GreenPlum | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u044b\u0431\u043e\u0440\u0430 ETL-\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 BigData. \u0420\u0430\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0435\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0435 Informatica BDM \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e \u043d\u0430\u0441 \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-08T23:42:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-08T23:42:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47N\u00e5r du har Sber-omfang. Brug af Ab Initio ved arbejde med Hive og GreenPlum | ProHoster","description":"For nogen tid siden stod vi overfor sp\u00f8rgsm\u00e5let om valg af ETL-v\u00e6rkt\u00f8j til arbejde med Big Data. Den tidligere brugte l\u00f8sning Informatica BDM d\u00e6kkede ikke vores behov p\u00e5 grund af begr\u00e6nsede funktioner.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 \u0441\u0431\u0435\u0440\u043e\u0432\u0441\u043a\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Ab Initio \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Hive \u0438 GreenPlum | ProHoster","og:description":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0432\u0441\u0442\u0430\u043b \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u044b\u0431\u043e\u0440\u0430 ETL-\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 BigData. \u0420\u0430\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0435\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0435 Informatica BDM \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e \u043d\u0430\u0441 \u0438\u0437-\u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438.","og:url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-08T23:42:11+00:00","article:modified_time":"2020-07-08T23:42:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87609","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:47:29","updated":"2026-02-22 15:29:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/87609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=87609"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/87609\/revisions"}],"predecessor-version":[{"id":162163,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/87609\/revisions\/162163"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/87610"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=87609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=87609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=87609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}