{"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\/de\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum","title":{"rendered":"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Vor einiger Zeit standen wir vor der Frage, welches ETL-Tool wir f\u00fcr die Arbeit mit Big Data w\u00e4hlen sollten. Die zuvor verwendete L\u00f6sung Informatica BDM entsprach nicht unseren Erwartungen aufgrund ihrer eingeschr\u00e4nkten Funktionalit\u00e4t. Ihr Einsatz beschr\u00e4nkte sich auf das Framework zum Ausf\u00fchren von spark-submit-Befehlen. Auf dem Markt gab es nicht viele Alternativen, die grunds\u00e4tzlich in der Lage sind, mit dem Datenvolumen umzugehen, das wir t\u00e4glich bew\u00e4ltigen. Letztendlich entschieden wir uns f\u00fcr Ab Initio. W\u00e4hrend der Pilotvorf\u00fchrungen zeigte das Produkt eine sehr hohe Geschwindigkeit bei der Datenverarbeitung. Informationen \u00fcber Ab Initio in russischer Sprache sind nahezu nicht vorhanden, daher haben wir uns entschieden, unsere Erfahrungen auf \u0425\u0430\u0431\u0440\u0435 zu teilen.<\/p>\n<p>Ab Initio bietet viele klassische und ungew\u00f6hnliche Transformationen, deren Code durch eine eigene Sprache PDL erweitert werden kann. F\u00fcr kleine Unternehmen k\u00f6nnte ein so leistungsstarkes Werkzeug \u00fcberdimensioniert sein, und die meisten seiner M\u00f6glichkeiten k\u00f6nnen sich als teuer und ungenutzt herausstellen. Wenn Ihr Ma\u00dfstab jedoch dem von Sberbank n\u00e4hert, k\u00f6nnte Ab Initio f\u00fcr Sie von Interesse sein. <\/p>\n<p>Es hilft Unternehmen, global Wissen anzusammeln und ein \u00d6kosystem zu entwickeln, w\u00e4hrend es Entwicklern erm\u00f6glicht, ihre ETL-F\u00e4higkeiten zu verbessern, ihr Wissen in Shell anzuwenden, die M\u00f6glichkeit bietet, die Sprache PDL zu erlernen, einen visuellen \u00dcberblick \u00fcber die Ladeprozesse zu erhalten und die Entwicklung durch die F\u00fclle funktionaler Komponenten zu erleichtern.<\/p>\n<p>In diesem Beitrag werde ich die M\u00f6glichkeiten von Ab Initio vorstellen und vergleichende Merkmale seiner Nutzung mit Hive und GreenPlum anf\u00fchren.<\/p>\n<ul>\n<li>Beschreibung des MDW-Frameworks und Arbeiten zur Anpassung an GreenPlum<\/li>\n<li>Vergleichende Leistungsmerkmale von Ab Initio mit Hive und GreenPlum<\/li>\n<li>Einsatz von Ab Initio mit GreenPlum im Near Real Time-Modus<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDie Funktionalit\u00e4t dieses Produkts ist sehr umfangreich und erfordert eine gewisse Einarbeitungszeit. Mit den richtigen F\u00e4higkeiten und der richtigen Leistungsanpassung erzielt man jedoch beeindruckende Ergebnisse bei der Datenverarbeitung. Die Nutzung von Ab Initio kann Entwicklern eine interessante Erfahrung bieten. Es bietet einen neuen Blick auf die ETL-Entwicklung, eine Hybridform zwischen einer visuellen Umgebung und der Entwicklung von Ladeprozessen in einer skript\u00e4hnlichen Sprache.<\/p>\n<p>Die Unternehmen entwickeln ihre \u00d6kosysteme und dieses Werkzeug kommt ihnen wie nie zuvor gelegen. Mit Ab Initio kann Wissen \u00fcber das aktuelle Gesch\u00e4ft angesammelt und dieses Wissen zur Erweiterung bestehender und zur Er\u00f6ffnung neuer Gesch\u00e4fte genutzt werden. Alternativen zu Ab Initio sind die visuellen Entwicklungsumgebungen Informatica BDM und die nicht-visuellen Umgebungen wie Apache Spark.<\/p>\n<h3>Beschreibung von Ab Initio<\/h3>\n<p>\nAb Initio, wie auch andere ETL-Tools, ist eine Produktreihe.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/c467fe1e8455805075856967b577f8b7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAb Initio GDE (Graphical Development Environment) ist eine Umgebung f\u00fcr Entwickler, in der sie Datenumwandlungen einstellen und diese mit Datenstr\u00f6men in Form von Pfeilen verbinden. Dabei wird eine solche Ansammlung von Umwandlungen als Graph bezeichnet:<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/7b0c19a82ae8b461a9bd85117555e106.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Eingangs- und Ausgangsverbindungen der funktionalen Komponenten sind Ports und enthalten Felder, die innerhalb der Umwandlungen berechnet werden. Mehrere Graphen, die durch Pfeilstr\u00f6me in der Ausf\u00fchrungsreihenfolge verbunden sind, werden als Plan bezeichnet.<\/p>\n<p>Es gibt mehrere Hundert funktionale Komponenten, was sehr viel ist. Viele davon sind stark spezialisiert. Die M\u00f6glichkeiten der klassischen Umwandlungen in Ab Initio sind umfangreicher als in anderen ETL-Tools. Zum Beispiel hat Join mehrere Ausg\u00e4nge. Neben dem Ergebnis der Zusammenf\u00fchrung von Datens\u00e4tzen k\u00f6nnen auch die Aufzeichnungen der Eingangsdatens\u00e4tze ausgegeben werden, bei denen die Verbindung nicht erfolgreich war. Au\u00dferdem k\u00f6nnen auch Rejected, Errors und ein Protokoll der Umwandlungsarbeit ausgegeben werden, das in demselben Graphen als Textdatei gelesen und von anderen Umwandlungen verarbeitet werden kann:<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/c7d70879daad364a3d4aa41a0a1b738d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOder man kann beispielsweise den Datenempf\u00e4nger in Form einer Tabelle materialisieren und in demselben Graphen Daten daraus lesen.<\/p>\n<p>Es gibt originale Umwandlungen. Zum Beispiel hat die Umwandlung Scan eine Funktionalit\u00e4t \u00e4hnlich wie analytische Funktionen. Es gibt Umwandlungen mit sprechenden Namen: Create Data, Read Excel, Normalize, Sort within Groups, Run Program, Run SQL, Join with DB und andere. Graphen k\u00f6nnen Parameter zur Laufzeit verwenden, einschlie\u00dflich der M\u00f6glichkeit, Parameter vom Betriebssystem zu \u00fcbergeben oder ins Betriebssystem zu \u00fcbergeben. Dateien mit einer vordefinierten Menge von Parametern, die dem Graphen \u00fcbergeben werden, werden als parameter sets (psets) bezeichnet.<\/p>\n<p>Wie es sich geh\u00f6rt, verf\u00fcgt Ab Initio GDE \u00fcber ein Repository, das als EME (Enterprise Meta Environment) bezeichnet wird. Entwickler haben die M\u00f6glichkeit, mit lokalen Versionen des Codes zu arbeiten und ihre Entwicklungen im zentralen Repository einzuchecken.<\/p>\n<p>Es ist m\u00f6glich, w\u00e4hrend oder nach der Ausf\u00fchrung des Graphen auf jeden Verbindungstransformationsfluss zu klicken und die Daten zu \u00fcberpr\u00fcfen, die zwischen diesen Transformationen \u00fcbertragen wurden.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/a674507b2cd25b980cb862bda2e10cbe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs besteht auch die M\u00f6glichkeit, auf jeden Fluss zu klicken und die Tracking-Details einzusehen \u2013 wie viele parallele Prozesse die Transformation bearbeitet hat, wie viele Zeilen und Bytes in welchen dieser Parallelprozesse geladen wurden.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/6188d17bebe756ee59e6956f9a40ec43.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs ist m\u00f6glich, die Ausf\u00fchrung des Graphen in Phasen aufzuteilen und zu kennzeichnen, welche Transformationen zuerst ausgef\u00fchrt werden m\u00fcssen (in Phase null), die n\u00e4chsten in Phase eins, die n\u00e4chsten in Phase zwei usw.<\/p>\n<p>F\u00fcr jede Transformation kann ein sogenanntes Layout gew\u00e4hlt werden (wo sie ausgef\u00fchrt wird): ohne Parallelit\u00e4t oder in parallelen Str\u00f6men, deren Anzahl festgelegt werden kann. Dabei k\u00f6nnen Tempor\u00e4re Dateien, die Ab Initio bei der Ausf\u00fchrung von Transformationen erstellt, sowohl im Dateisystem <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/dts-los-angeles\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3635\">Server<\/a>als auch im HDFS abgelegt werden.<\/p>\n<p>In jeder Transformation kann auf Basis des Standardtemplates ein eigenes Skript in der PDL-Sprache erstellt werden, das ein wenig an Shell erinnert. <\/p>\n<p>Mit der PDL-Sprache k\u00f6nnen Sie die Funktionalit\u00e4t der Transformationen erweitern und insbesondere zur Laufzeit beliebige Codefragmente dynamisch generieren, abh\u00e4ngig von den Laufzeitparametern.<\/p>\n<p>Auch in Ab Initio ist die Integration mit dem Betriebssystem \u00fcber Shell gut entwickelt. Konkret wird in Sberbank Linux ksh verwendet. Es ist m\u00f6glich, Variablen mit Shell auszutauschen und sie als Parameter f\u00fcr Graphen zu verwenden. Aus Shell heraus k\u00f6nnen Sie die Ausf\u00fchrung von Ab Initio-Graphen aufrufen und Ab Initio verwalten.<\/p>\n<p>Neben Ab Initio GDE umfasst die Lieferung viele andere Produkte. Es gibt ein eigenes Co&gt;Operation System, das den Anspruch erhebt, ein Betriebssystem zu sein. Es gibt Control&gt;Center, in dem Sie Ladeprozesse planen und \u00fcberwachen k\u00f6nnen. Es gibt Produkte f\u00fcr die Entwicklung auf einer einfacheren Ebene, als es Ab Initio GDE erm\u00f6glicht.<\/p>\n<h3>Beschreibung des MDW-Frameworks und Arbeiten zur Anpassung an GreenPlum<\/h3>\n<p>\nZusammen mit seinen Produkten bietet der Anbieter das Produkt MDW (Metadata Driven Warehouse) an, das einen Konfigurator f\u00fcr Graphen darstellt, der zur Unterst\u00fctzung bei typischen Aufgaben zur Bef\u00fcllung von Data Warehouses oder Data Vaults dient.<\/p>\n<p>Es enth\u00e4lt benutzerdefinierte (projektbezogene) Metadaten-Parser und standardm\u00e4\u00dfige Codegeneratoren \"out of the box\".<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/0842ecb9550f369875103ccb23cdf121.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMDW erh\u00e4lt beim Eingang ein Datenmodell, eine Konfigurationsdatei f\u00fcr die Verbindung zur Datenbank (Oracle, Teradata oder Hive) und einige andere Einstellungen. Der projektspezifische Teil beispielsweise entwickelt das Modell in der Datenbank. Der standardisierte Teil des Produkts erzeugt Graphen und die zugeh\u00f6rigen Konfigurationsdateien beim Laden von Daten in die Modelltabellen. Dabei werden Graphen (und psets) f\u00fcr mehrere Modi der initialen und inkrementellen Verarbeitung zur Aktualisierung von Entit\u00e4ten erstellt.<\/p>\n<p>Bei Hive und RDBMS werden unterschiedliche Graphen f\u00fcr die initiale und inkrementelle Datenaktualisierung generiert.<\/p>\n<p>Im Fall von Hive werden die eingehenden Delta-Daten \u00fcber einen Ab Initio Join mit den Daten verbunden, die vor der Aktualisierung in der Tabelle vorhanden waren. Die Datenladeprozesse in MDW (sowohl in Hive als auch in RDBMS) f\u00fcgen nicht nur neue Daten aus dem Delta ein, sondern schlie\u00dfen auch die G\u00fcltigkeitszeitr\u00e4ume der Daten, f\u00fcr die das Delta eingegangen ist, anhand der Prim\u00e4rschl\u00fcssel. Au\u00dferdem muss der unver\u00e4nderte Teil der Daten neu geschrieben werden. Das ist notwendig, da es in Hive keine L\u00f6sch- oder Aktualisierungsoperationen gibt.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/36b6dd7c4d45727ad7d7aa1183fdd5fd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBei RDBMS hingegen erscheinen die Graphen f\u00fcr die inkrementelle Datenaktualisierung optimierter, da RDBMS echte Aktualisierungsm\u00f6glichkeiten bieten.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/b62ac222bed575a60b632b13e012f603.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas eingehende Delta wird in einer Zwischentabelle der Datenbank geladen. Danach erfolgt die Verbindung des Deltas mit den Daten, die vor der Aktualisierung in der Tabelle waren. Dies geschieht mithilfe von SQL durch eine generierte SQL-Abfrage. Anschlie\u00dfend erfolgt die Einf\u00fcgung neuer Daten aus dem Delta in die Zieltabelle sowie das Schlie\u00dfen der G\u00fcltigkeitszeitr\u00e4ume anhand der Prim\u00e4rschl\u00fcssel der eingegangenen Delta-Daten mithilfe der SQL-Befehle delete+insert. <br \/>\nUnver\u00e4nderte Daten m\u00fcssen nicht neu geschrieben werden.<\/p>\n<p>Somit sind wir zu dem Schluss gekommen, dass MDW im Falle von Hive die gesamte Tabelle neu schreiben muss, da Hive keine Aktualisierungsfunktion hat. Besser als die vollst\u00e4ndige Neuschreibung von Daten bei einer Aktualisierung wurde nichts gefunden. Im Fall von RDBMS hingegen hielten die Produktentwickler es f\u00fcr notwendig, das Verbinden und Aktualisieren der Tabellen SQL zu \u00fcberlassen.<\/p>\n<p>F\u00fcr ein Projekt bei Sberbank haben wir eine neue mehrmals verwendbare Implementierung eines Datenbank-Loaders f\u00fcr GreenPlum erstellt. Dies wurde auf der Grundlage einer Version entwickelt, die MDW f\u00fcr Teradata generiert. Teradata, und nicht Oracle, war daf\u00fcr besser geeignet, da es ebenfalls ein MPP-System ist. Die Arbeitsweisen sowie die Syntax von Teradata und GreenPlum erwiesen sich als \u00e4hnlich.<\/p>\n<p>Beispiele kritischer Unterschiede zwischen verschiedenen RDBMS sind wie folgt. In GreenPlum muss im Gegensatz zu Teradata beim Erstellen von Tabellen die Klausel<\/p>\n<pre><code class=\"sql\">distributed by<\/code><\/pre>\n<p>\nin Teradata wird geschrieben<\/p>\n<pre><code class=\"sql\">delete &lt;table&gt; all<\/code><\/pre>\n<p>\n, w\u00e4hrend in GreenPlum geschrieben wird<\/p>\n<pre><code class=\"sql\">l&ouml;schen von &lt;table&gt;<\/code><\/pre>\n<p>\nIn Oracle wird zur Optimierung geschrieben<\/p>\n<pre><code class=\"sql\">delete from t where rowid in ()<\/code><\/pre>\n<p>\n, w\u00e4hrend in Teradata und GreenPlum geschrieben wird<\/p>\n<pre><code class=\"sql\">delete from t where exists (select * from delta where delta.pk=t.pk)<\/code><\/pre>\n<p>\nDar\u00fcber hinaus stellen wir fest, dass f\u00fcr die Arbeit von Ab Initio mit GreenPlum der GreenPlum-Client auf allen Knoten des Ab-Initio-Clusters installiert werden musste. Dies liegt daran, dass wir uns gleichzeitig von allen Knoten unseres Clusters mit GreenPlum verbunden haben. Damit das Lesen aus GreenPlum parallel erfolgte und jeder parallele Ab-Initio-Thread seine Datenportion aus GreenPlum las, musste in den 'where'-Abschnitt der SQL-Abfragen eine von Ab Initio verstandene Konstruktion eingef\u00fcgt werden.<\/p>\n<pre><code class=\"sql\">where ABLOCAL()<\/code><\/pre>\n<p>\nund der Wert dieser Konstruktion musste angegeben werden, indem der lesenden Transformation aus der Datenbank der Parameter<\/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, der in etwas wie<\/p>\n<pre><code class=\"sql\">mod(sk,10)=3<\/code><\/pre>\n<p>\n, das hei\u00dft, GreenPlum muss f\u00fcr jede Partition einen expliziten Filter kennen. F\u00fcr andere Datenbanken (Teradata, Oracle) kann Ab Initio diese Parallelisierung automatisch durchf\u00fchren.<\/p>\n<h3>Vergleichende Leistungsmerkmale von Ab Initio mit Hive und GreenPlum<\/h3>\n<p>\nBei Sberbank wurde ein Experiment zur Leistungsbewertung der von MDW generierten Graphen sowohl f\u00fcr Hive als auch f\u00fcr GreenPlum durchgef\u00fchrt. Im Rahmen des Experiments hatten wir im Fall von Hive 5 Knoten im selben Cluster wie Ab Initio, w\u00e4hrend im Fall von GreenPlum 4 Knoten in einem separaten Cluster vorhanden waren. Das hei\u00dft, Hive hatte einen gewissen Vorteil gegen\u00fcber GreenPlum hinsichtlich der Hardware.<\/p>\n<p>Es wurden zwei Paare von Graphen betrachtet, die dieselbe Aufgabe der Datenaktualisierung in Hive und GreenPlum erf\u00fcllen. Dabei wurden die von dem MDW-Konfigurator generierten Graphen gestartet:<\/p>\n<ul>\n<li>Initiale Ladeoperation + inkrementelles Laden zuf\u00e4llig generierter Daten in die Hive-Tabelle<\/li>\n<li>Initiale Ladeoperation + inkrementelles Laden zuf\u00e4llig generierter Daten in dieselbe GreenPlum-Tabelle<\/li>\n<\/ul>\n<p>\nIn beiden F\u00e4llen (Hive und GreenPlum) wurden Uploads mit 10 parallelen Streams auf demselben Ab Initio-Cluster gestartet. Die Zwischendaten f\u00fcr die Berechnungen wurden von Ab Initio im HDFS gespeichert (in Ab Initio-Begriffen wurde das MFS-Layout unter Verwendung von HDFS verwendet). Eine Zeile zuf\u00e4llig generierter Daten belegte in beiden F\u00e4llen 200 Byte.<\/p>\n<p>Das Ergebnis war folgendes:<\/p>\n<p><b>Hive:<\/b><\/p>\n<p><b>Initialer Upload in Hive<\/b><\/p>\n<p>Eingef\u00fcgte Zeilen<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Dauer des initialen<br \/>\nUploads in Sekunden<br \/>\n41<br \/>\n203<br \/>\n1 601<\/p>\n<p><b>Inkrementeller Upload in Hive<\/b><\/p>\n<p>Anzahl der Zeilen, die in der<br \/>\nZieltabelle zu Beginn des Experiments vorhanden waren<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Anzahl der Delta-Zeilen, die in der<br \/>\nZieltabelle w\u00e4hrend des Experiments angewendet wurden<br \/>\n6 000 000<br \/>\n6 000 000<br \/>\n6 000 000<\/p>\n<p>Dauer des inkrementellen<br \/>\nUploads in Sekunden<br \/>\n88<br \/>\n299<br \/>\n<b>2 541<\/b><\/p>\n<p>\n<b>GreenPlum:<\/b><\/p>\n<p><b>Initialer Upload in GreenPlum<\/b><\/p>\n<p>Eingef\u00fcgte Zeilen<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Dauer des initialen<br \/>\nUploads in Sekunden<br \/>\n72<br \/>\n360<br \/>\n3 631<\/p>\n<p><b>Inkrementeller Upload in GreenPlum<\/b><\/p>\n<p>Anzahl der Zeilen, die in der<br \/>\nZieltabelle zu Beginn des Experiments vorhanden waren<br \/>\n6 000 000<br \/>\n60 000 000<br \/>\n600 000 000<\/p>\n<p>Anzahl der Delta-Zeilen, die in der<br \/>\nZieltabelle w\u00e4hrend des Experiments angewendet wurden<br \/>\n6 000 000<br \/>\n6 000 000<br \/>\n6 000 000<\/p>\n<p>Dauer des inkrementellen<br \/>\nUploads in Sekunden<br \/>\n159<br \/>\n199<br \/>\n<b>321<\/b><\/p>\n<p>\nWir sehen, dass die Geschwindigkeit des initialen Uploads sowohl in Hive als auch in GreenPlum linear vom Datenvolumen abh\u00e4ngt. Aufgrund besserer Hardware ist es in Hive etwas schneller als in GreenPlum.<\/p>\n<p>Der inkrementelle Upload in Hive h\u00e4ngt ebenfalls linear von dem Volumen der zuvor in der Zieltabelle geladenen Daten ab und erfolgt relativ langsam mit wachsendem Volumen, da die gesamte Zieltabelle neu geschrieben werden muss. Dies bedeutet, dass kleine \u00c4nderungen an gro\u00dfen Tabellen \u2013 keine gute Option f\u00fcr Hive sind.<\/p>\n<p>Der inkrementelle Upload in GreenPlum hingegen h\u00e4ngt nur schwach von dem Volumen der zuvor in der Zieltabelle geladenen Daten ab und erfolgt relativ schnell. Dies wurde durch SQL Joins und die Architektur von GreenPlum erm\u00f6glicht, die Operationen wie delete zul\u00e4sst.<\/p>\n<p>Somit f\u00fcgt GreenPlum die Delta durch delete+insert hinzu, w\u00e4hrend es in Hive keine delete- oder update-Operationen gibt, weshalb der gesamte Datensatz beim inkrementellen Update vollst\u00e4ndig neu geschrieben werden musste. Besonders aufschlussreich ist der Vergleich der fettgedruckten Zellen, da dies dem h\u00e4ufigsten Einsatz ressourcenintensiver Uploads entspricht. Wir sehen, dass GreenPlum in diesem Test 8 Mal besser abgeschnitten hat als Hive.<\/p>\n<h3>Einsatz von Ab Initio mit GreenPlum im Near Real Time-Modus<\/h3>\n<p>\nIn diesem Experiment werden wir die M\u00f6glichkeit von Ab Initio \u00fcberpr\u00fcfen, die Tabelle GreenPlum mit zuf\u00e4llig generierten Datenmengen in einem nahezu Echtzeitszenario zu aktualisieren. Wir betrachten die GreenPlum-Tabelle dev42_1_db_usl.TESTING_SUBJ_org_finval, mit der wir arbeiten werden.<\/p>\n<p>Wir werden drei Ab Initio-Grafiken verwenden, um mit ihr zu arbeiten:<\/p>\n<p>1) Graf Create_test_data.mp \u2013 erstellt in 10 parallelen Streams Dateien mit Daten in HDFS mit 6.000.000 Zeilen. Die Daten sind zuf\u00e4llig, ihre Struktur ist f\u00fcr die Einspeisung in unsere Tabelle organisiert.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/8cac605c1c5931313bd016a48fb6384e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und 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 generierter MDW-Graf zur initialen Einspeisung von Daten in unsere Tabelle in 10 parallelen Streams (es werden Testdaten verwendet, die durch Graf (1) generiert wurden).<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und 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 generierter MDW-Graf zum inkrementellen Update unserer Tabelle in 10 parallelen Streams unter Verwendung einer Charge neu eingegangener Daten (Deltas), die durch Graf (1) generiert wurden.<\/p>\n<p><img decoding=\"async\" alt=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/714a901616cf84e5a1fd7a764373e30f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir werden das folgende Szenario im NRT-Modus durchf\u00fchren:<\/p>\n<ul>\n<li>6.000.000 Testzeilen generieren.<\/li>\n<li>Die initiale Einspeisung durchf\u00fchren: 6.000.000 Testzeilen in eine leere Tabelle einf\u00fcgen.<\/li>\n<li>Die inkrementelle Einspeisung 5 Mal wiederholen.\n<ul>\n<li>6.000.000 Testzeilen generieren.<\/li>\n<li>Die inkrementelle Einspeisung von 6.000.000 Testzeilen in die Tabelle vornehmen (dabei wird den alten Daten die G\u00fcltigkeitsdauer valid_to_ts zugewiesen, und es werden neuere Daten mit demselben Prim\u00e4rschl\u00fcssel eingef\u00fcgt).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\nEin solches Szenario emuliert den Betrieb eines tats\u00e4chlichen Gesch\u00e4ftssystems \u2013 in Echtzeit erscheinen eine relativ umfangreiche Charge neuer Daten und werden sofort in GreenPlum eingespeist.<\/p>\n<p>Lassen Sie uns nun das Protokoll der Szenarioausf\u00fchrung betrachten:<\/p>\n<p><i>Start Create_test_data.input.pset am 2020-06-04 11:49:11<br \/>\nFertigstellen Create_test_data.input.pset am 2020-06-04 11:49:37<br \/>\nStart mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:49:37<br \/>\nFertigstellen mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:50:42<br \/>\nStart Create_test_data.input.pset am 2020-06-04 11:50:42<br \/>\nFertigstellen Create_test_data.input.pset am 2020-06-04 11:51:06<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:51:06<br \/>\nFertigstellen mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:53:41<br \/>\nStart Create_test_data.input.pset am 2020-06-04 11:53:41<br \/>\nFertigstellen Create_test_data.input.pset am 2020-06-04 11:54:04<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:54:04<br \/>\nFertigstellen mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:56:51<br \/>\nStart Create_test_data.input.pset am 2020-06-04 11:56:51<br \/>\nFertigstellen Create_test_data.input.pset am 2020-06-04 11:57:14<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:57:14<br \/>\nFertigstellen mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 11:59:55<br \/>\nStart Create_test_data.input.pset am 2020-06-04 11:59:55<br \/>\nFertigstellen Create_test_data.input.pset am 2020-06-04 12:00:23<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 12:00:23<br \/>\nFertigstellen mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 12:03:23<br \/>\nStart Create_test_data.input.pset am 2020-06-04 12:03:23<br \/>\nFertigstellen Create_test_data.input.pset am 2020-06-04 12:03:49<br \/>\nStart mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 12:03:49<br \/>\nBeende mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset am 2020-06-04 12:06:46<\/i><\/p>\n<p>So ergibt sich folgendes Bild:<\/p>\n<p>Graf<br \/>\nStartzeit<br \/>\nEndzeit<br \/>\nDauer<\/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>\nWir sehen, dass 6.000.000 Zeilen Inkremente in 3 Minuten bearbeitet werden, was ziemlich schnell ist.<br \/>\nDie Daten in der Zieltabelle wurden folgenderma\u00dfen verteilt:<\/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=\"Wenn Sie mit den Dimensionen der Sberbank arbeiten. Nutzung von Ab Initio bei der Arbeit mit Hive und GreenPlum\" src=\"\/wp-content\/uploads\/2020\/07\/baefcfd8142f4ad6275333e3dcfccf94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMan kann die \u00dcbereinstimmung der eingef\u00fcgten Daten mit den Startzeitpunkten der Grafiken erkennen.<br \/>\nDas hei\u00dft, man kann in Ab Initio eine inkrementelle Datenladung in GreenPlum mit sehr hoher Frequenz starten und die hohe Geschwindigkeit der Dateninsertierung in GreenPlum beobachten. Nat\u00fcrlich wird es nicht m\u00f6glich sein, jede Sekunde einen Start durchzuf\u00fchren, da Ab Initio, wie jedes ETL-Tool, beim Start Zeit f\u00fcr das 'Hochfahren' ben\u00f6tigt.<\/p>\n<h2>Fazit<\/h2>\n<p>\nDerzeit wird Ab Initio bei der Sberbank f\u00fcr den Aufbau einer einheitlichen semantischen Datenschicht (ESS) verwendet. Dieses Projekt sieht den Aufbau einer einheitlichen Version des Zustands verschiedener bankgesch\u00e4ftlicher Entit\u00e4ten vor. Informationen kommen aus verschiedenen Quellen, deren Replikate auf Hadoop vorbereitet werden. Je nach den Anforderungen des Unternehmens wird ein Datenmodell erstellt und Datenumwandlungen beschrieben. Ab Initio l\u00e4dt Informationen in die ESS und die geladenen Daten sind nicht nur f\u00fcr das Unternehmen von Interesse, sondern dienen auch als Quelle f\u00fcr die Erstellung von Datensichten. Die Funktionalit\u00e4t des Produkts erm\u00f6glicht es zudem, verschiedene Systeme (Hive, Greenplum, Teradata, Oracle) als Empf\u00e4nger zu nutzen, was es dem Unternehmen erleichtert, Daten in den ben\u00f6tigten Formaten bereitzustellen.<\/p>\n<p>Die M\u00f6glichkeiten von Ab Initio sind breit gef\u00e4chert, zum Beispiel erm\u00f6glicht das mitgelieferte MDW-Framework den Aufbau der technischen und gesch\u00e4ftlichen Historie der Daten 'out of the box'. F\u00fcr Entwickler bietet Ab Initio die M\u00f6glichkeit, 'das Rad nicht neu zu erfinden' und auf eine Vielzahl vorhandener funktionaler Komponenten zur\u00fcckzugreifen, die im Grunde Bibliotheken sind, die bei der Arbeit mit Daten ben\u00f6tigt werden.<\/p>\n<blockquote><p>Autor \u2014 Experte der professionellen Gemeinschaft der Sberbank SberProfi DWH\/BIGDATA. Die professionelle Gemeinschaft SberProfi DWH\/BIGDATA ist verantwortlich f\u00fcr die Entwicklung von Kompetenzen in Bereichen wie Hadoop-\u00d6kosystem, Teradata, Oracle DB, GreenPlum sowie BI-Tools wie Qlik, SAP BO, Tableau usw.<\/p><\/blockquote>\n<p>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/kogda-u-vas-sberovskie-masshtaby-ispolzovanie-ab-initio-pri-rabote-s-hive-i-greenplum\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47 Wenn Sie in den Dimensionen eines Sanktionen arbeiten. Die Verwendung von Ab Initio bei der Arbeit mit Hive und GreenPlum | ProHoster","description":"Vor einiger Zeit standen wir vor der Wahl eines ETL-Tools f\u00fcr die Arbeit mit Big Data. Die zuvor verwendete L\u00f6sung Informatica BDM entsprach nicht unseren Anforderungen aufgrund ihrer eingeschr\u00e4nkten Funktionalit\u00e4t.","canonical_url":"https:\/\/prohoster.info\/de\/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":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/87609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=87609"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/87609\/revisions"}],"predecessor-version":[{"id":162163,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/87609\/revisions\/162163"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/87610"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=87609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=87609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=87609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}