Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Хэсэг хугацааны өмнө бид Big Data-тай ажиллахад зориулсан ETL хэрэгслийг сонгох асуудалтай тулгарч байсан. Өмнө нь ашиглаж байсан Informatica BDM шийдэл нь хязгаарлагдмал ажиллагаатай тул бидэнд тохирохгүй байсан. Түүний хэрэглээ нь spark-submit командуудыг ажиллуулах хүрээ болгон багасгасан. Зах зээл дээр зарчмын хувьд бидний өдөр бүр харьцдаг өгөгдлийн эзлэхүүнтэй ажиллах чадвартай аналогууд тийм ч олон байсангүй. Эцэст нь бид Ab Initio-г сонгосон. Туршилтын туршилтын үеэр бүтээгдэхүүн нь өгөгдөл боловсруулах маш өндөр хурдыг харуулсан. Орос хэл дээр Ab Initio-ийн талаар бараг мэдээлэл байхгүй тул бид Habré дээр өөрийн туршлагын талаар ярихаар шийдсэн.

Ab Initio нь олон сонгодог, ер бусын өөрчлөлтүүдтэй бөгөөд кодыг өөрийн PDL хэлийг ашиглан өргөтгөх боломжтой. Жижиг бизнесийн хувьд ийм хүчирхэг хэрэгсэл нь хэт их ашиг тустай байх магадлалтай бөгөөд ихэнх боломжууд нь үнэтэй, ашиглагдаагүй байж болно. Гэхдээ хэрэв таны масштаб Сберовынхтэй ойролцоо байвал Ab Initio танд сонирхолтой байж магадгүй юм.

Энэ нь бизнест дэлхийн хэмжээнд мэдлэг хуримтлуулж, экосистемийг хөгжүүлэхэд тусалдаг ба хөгжүүлэгчид ETL-ийн ур чадвараа дээшлүүлэх, бүрхүүл дэх мэдлэгээ дээшлүүлэх, PDL хэлийг эзэмших боломжийг олгож, ачаалах үйл явцын дүр төрхийг өгч, хөгжлийг хялбаршуулдаг. үйл ажиллагааны бүрэлдэхүүн хэсгүүдийн элбэг дэлбэг байдлаас үүдэлтэй.

Энэ нийтлэлд би Ab Initio-ийн боломжуудын талаар ярьж, Hive болон GreenPlum-тай хийсэн ажлын харьцуулсан шинж чанарыг өгөх болно.

  • MDW хүрээний тодорхойлолт, түүнийг GreenPlum-д тохируулан ажиллах
  • Hive болон GreenPlum хоёрын Ab Initio гүйцэтгэлийн харьцуулалт
  • GreenPlum-тай Ab Initio-г бодит цагийн горимд ажиллуулж байна


Энэ бүтээгдэхүүний функциональ байдал нь маш өргөн бөгөөд судлахад маш их цаг хугацаа шаарддаг. Гэсэн хэдий ч, зохих ажлын ур чадвар, зөв ​​гүйцэтгэлийн тохиргоотой бол өгөгдөл боловсруулах үр дүн нь маш гайхалтай юм. Хөгжүүлэгчийн хувьд Ab Initio-г ашиглах нь сонирхолтой туршлага өгөх болно. Энэ нь харааны орчин болон скрипттэй төстэй хэлээр татаж авах хөгжүүлэлтийн хоорондох холимог ETL хөгжүүлэлтийн шинэ хувилбар юм.

Бизнесүүд өөрсдийн экосистемээ хөгжүүлж байгаа бөгөөд энэ хэрэгсэл нь урьд өмнөхөөсөө илүү хэрэг болдог. Ab Initio-г ашигласнаар та одоогийн бизнесийн талаарх мэдлэгээ хуримтлуулж, энэ мэдлэгээ хуучин болон шинэ бизнесээ өргөжүүлэхэд ашиглах боломжтой. Ab Initio-ийн өөр хувилбарууд нь Informatica BDM болон визуал хөгжүүлэлтийн бус Apache Spark орчинг агуулдаг.

Ab Initio-ийн тодорхойлолт

Ab Initio нь бусад ETL хэрэгслүүдийн нэгэн адил бүтээгдэхүүний цуглуулга юм.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Ab Initio GDE (Graphical Development Environment) нь хөгжүүлэгчийн өгөгдлийн хувиргалтыг тохируулж, сум хэлбэрээр өгөгдлийн урсгалтай холбодог орчин юм. Энэ тохиолдолд ийм хувиргалтын багцыг график гэж нэрлэдэг.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Функциональ бүрэлдэхүүн хэсгүүдийн оролт, гаралтын холболтууд нь портууд бөгөөд хувиргалт дотор тооцсон талбаруудыг агуулдаг. Гүйцэтгэх дарааллаар нь сум хэлбэрээр урсгалаар холбогдсон хэд хэдэн графикийг төлөвлөгөө гэж нэрлэдэг.

Хэдэн зуун функциональ бүрэлдэхүүн хэсгүүд байдаг бөгөөд энэ нь маш их юм. Тэдний олонх нь өндөр мэргэшсэн. Ab Initio дахь сонгодог хувиргалтын боломжууд нь бусад ETL хэрэгслүүдээс илүү өргөн байдаг. Жишээлбэл, Join олон гаралттай. Өгөгдлийн багцыг холбосон үр дүнгээс гадна түлхүүрүүд нь холбогдож чадаагүй оролтын өгөгдлийн багцын гаралтын бүртгэлийг авч болно. Та мөн текст файлтай ижил багананд уншиж, бусад хувиргалтуудтай хамт боловсруулж болох татгалзал, алдаа болон хувиргах үйлдлийн бүртгэлийг авч болно.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Эсвэл, жишээлбэл, та өгөгдөл хүлээн авагчийг хүснэгт хэлбэрээр материал болгож, түүнээс өгөгдлийг нэг баганад уншиж болно.

Анхны өөрчлөлтүүд байдаг. Жишээлбэл, Scan хувиргалт нь аналитик функцтэй төстэй функцтэй байдаг. Өөрийгөө тайлбарласан нэр бүхий хувиргалтууд байдаг: Өгөгдөл үүсгэх, Excel унших, хэвийн болгох, Бүлэг дотор эрэмбэлэх, Програмыг ажиллуулах, SQL-г ажиллуулах, DB-тэй нэгдэх гэх мэт. Графикууд нь параметрүүдийг дараахаас эсвэл хооронд нь дамжуулах боломжтой зэрэг ажиллах цагийн параметрүүдийг ашиглаж болно. үйлдлийн систем. График руу дамжуулсан бэлэн параметр бүхий файлуудыг параметрийн багц (псет) гэж нэрлэдэг.

Хүлээгдэж байгаачлан Ab Initio GDE нь EME (Enterprise Meta Environment) нэртэй өөрийн агуулахтай. Хөгжүүлэгчид кодын орон нутгийн хувилбаруудтай ажиллах боломжтой бөгөөд тэдгээрийн хөгжүүлэлтийг төв репозитор руу шалгах боломжтой.

Гүйцэтгэх явцад эсвэл графикийг гүйцэтгэсний дараа хувиргалтыг холбосон дурын урсгал дээр дарж, эдгээр хувиргалтуудын хооронд дамжсан өгөгдлийг харах боломжтой.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Мөн дурын урсгал дээр дарж, дагах дэлгэрэнгүй мэдээллийг харах боломжтой - хувиргалт хэдэн параллель ажилласан, хэдэн мөр, байт параллелуудын алинд нь ачаалагдсан бэ.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Графикийн гүйцэтгэлийг үе шатуудад хувааж, зарим хувиргалтыг эхлээд (тэг үе шатанд), дараагийнхыг эхний үе шатанд, дараагийнхыг хоёр дахь үе шатанд гэх мэтээр хийх шаардлагатайг тэмдэглэж болно.

Өөрчлөлт бүрийн хувьд та байршлыг (түүнийг гүйцэтгэх газар) сонгож болно: параллель эсвэл зэрэгцээ утаснууд, тэдгээрийн тоог зааж өгч болно. Үүний зэрэгцээ хувиргах үед Ab Initio-ийн үүсгэсэн түр зуурын файлуудыг серверийн файлын систем болон HDFS-д байрлуулж болно.

Өөрчлөлт бүрт анхдагч загвар дээр үндэслэн PDL дээр өөрийн скриптийг үүсгэж болох бөгөөд энэ нь бүрхүүлтэй төстэй юм.

PDL-ийн тусламжтайгаар та хувиргалтын функцийг өргөтгөх боломжтой бөгөөд ялангуяа ажиллах үеийн параметрүүдээс хамааран динамикаар (ажиллах үед) дурын кодын фрагментүүдийг үүсгэж болно.

Ab Initio нь бүрхүүлээр дамжуулан үйлдлийн системтэй сайн хөгжсөн интеграцчилалтай. Тодруулбал, Сбербанк linux ksh ашигладаг. Та хувьсагчдыг бүрхүүлтэй солилцож, графикийн параметр болгон ашиглаж болно. Та Ab Initio графикийн гүйцэтгэлийг бүрхүүлээс дуудаж, Ab Initio-г удирдаж болно.

Хүргэлтэнд Ab Initio GDE-ээс гадна бусад олон бүтээгдэхүүн багтсан болно. Үйлдлийн систем гэж нэрлэгдэх өөрийн гэсэн Co>Operation System байдаг. Та татаж авах урсгалыг төлөвлөх, хянах боломжтой Control>Center байдаг. Ab Initio GDE-ийн зөвшөөрснөөс илүү энгийн түвшинд хөгжүүлэлт хийх бүтээгдэхүүнүүд байдаг.

MDW хүрээний тодорхойлолт, түүнийг GreenPlum-д тохируулан ажиллах

Худалдагч нь бүтээгдэхүүнийхээ хамт MDW (Metadata Driven Warehouse) бүтээгдэхүүнийг нийлүүлдэг бөгөөд энэ нь өгөгдлийн агуулах эсвэл мэдээллийн агуулахыг дүүргэх ердийн ажлуудад туслах зорилготой график тохируулагч юм.

Энэ нь захиалгат (төслийн тусгай) мета өгөгдөл задлагч болон хайрцагнаас гарсан бэлэн код үүсгэгчийг агуулдаг.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах
Оролтын хувьд MDW нь өгөгдлийн загвар, өгөгдлийн сантай (Oracle, Teradata эсвэл Hive) холболт үүсгэх тохиргооны файл болон бусад тохиргоог хүлээн авдаг. Жишээлбэл, төслийн тусгай хэсэг нь загварыг мэдээллийн санд байршуулдаг. Бүтээгдэхүүний бэлэн болсон хэсэг нь загвар хүснэгтэд өгөгдлийг ачаалах замаар график болон тохиргооны файлуудыг үүсгэдэг. Энэ тохиолдолд график (болон пссет) нь аж ахуйн нэгжүүдийг шинэчлэх, эхлүүлэх, нэмэгдүүлэх хэд хэдэн горимд зориулагдсан болно.

Hive болон RDBMS-ийн хувьд эхлүүлэх болон өгөгдлийн нэмэлт шинэчлэлтийн хувьд өөр өөр графикууд үүсдэг.

Hive-ийн хувьд ирж буй дельта өгөгдлийг Ab Initio Join-ээр дамжуулан шинэчлэхээс өмнө хүснэгтэд байсан өгөгдөлтэй холбодог. MDW (Hive болон RDBMS-ийн аль аль нь) дахь өгөгдөл дуудагч нь дельтагаас шинэ өгөгдөл оруулаад зогсохгүй, үндсэн түлхүүрүүд нь дельтийг хүлээн авсан өгөгдлийн хамаарлын үеийг хаадаг. Үүнээс гадна та өгөгдлийн өөрчлөгдөөгүй хэсгийг дахин бичих хэрэгтэй. Гэхдээ Hive-д устгах эсвэл шинэчлэх үйлдэл байхгүй тул үүнийг хийх хэрэгтэй.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

RDBMS-ийн хувьд, RDBMS нь бодит шинэчлэл хийх чадвартай тул нэмэлт өгөгдлийг шинэчлэх графикууд илүү оновчтой харагдаж байна.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Хүлээн авсан дельта нь мэдээллийн сан дахь завсрын хүснэгтэд ачаалагддаг. Үүний дараа дельта нь шинэчлэлт хийхээс өмнө хүснэгтэд байсан өгөгдөлд холбогдсон байна. Үүнийг үүсгэсэн SQL асуулга ашиглан SQL ашиглан хийдэг. Дараа нь Delta+insert SQL командыг ашиглан дельтагаас шинэ өгөгдлийг зорилтот хүснэгтэд оруулж, үндсэн түлхүүрүүд нь дельта хүлээн авсан өгөгдлийн хамаарлын үеийг хаадаг.
Өөрчлөгдөөгүй өгөгдлийг дахин бичих шаардлагагүй.

Тиймээс бид Hive-ийн хувьд Hive-д шинэчлэх функц байхгүй тул MDW нь хүснэгтийг бүхэлд нь дахин бичих шаардлагатай гэсэн дүгнэлтэд хүрсэн. Шинэчлэх үед өгөгдлийг бүрэн дахин бичихээс илүү сайн зүйл байхгүй. RDBMS-ийн хувьд, эсрэгээр, бүтээгдэхүүнийг бүтээгчид SQL-ийн хэрэглээнд хүснэгтүүдийг холбох, шинэчлэх шаардлагатай гэж үзсэн.

Сбербанк дахь төслийн хувьд бид GreenPlum-д зориулсан мэдээллийн сан ачаалагчийн шинэ, дахин ашиглах боломжтой хэрэгжилтийг бий болгосон. Үүнийг MDW-ийн Teradata-д зориулж үүсгэсэн хувилбар дээр үндэслэн хийсэн. Үүнд хамгийн ойр, хамгийн сайн нь Oracle биш харин Терадата байсан, учир нь... бас МАН-ын тогтолцоо. Teradata болон GreenPlum-ийн ажлын арга барил, синтакс нь ижил төстэй болсон.

Төрөл бүрийн RDBMS-ийн хоорондох MDW-ийн чухал ялгаануудын жишээ нь дараах байдалтай байна. GreenPlum-д Teradata-аас ялгаатай нь хүснэгт үүсгэхдээ та заалт бичих хэрэгтэй

distributed by

Терадата бичжээ:

delete <table> all

, мөн GreenPlum дээр тэд бичдэг

delete from <table>

Oracle-д тэд оновчтой болгох зорилгоор бичдэг

delete from t where rowid in (<соединение t с дельтой>)

, мөн Teradata болон GreenPlum бичдэг

delete from t where exists (select * from delta where delta.pk=t.pk)

Ab Initio-г GreenPlum-тэй хамтран ажиллахын тулд Ab Initio кластерын бүх зангилаа дээр GreenPlum клиентийг суулгах шаардлагатай байсныг бид мөн тэмдэглэж байна. Учир нь бид кластерын бүх зангилаанаас GreenPlum-тэй нэгэн зэрэг холбогдсон. GreenPlum-аас уншихад параллель байх ба параллель Ab Initio thread бүр GreenPlum-аас өгөгдлийн өөрийн гэсэн хэсгийг уншихын тулд бид SQL асуулгын "хаана" хэсэгт Ab Initio-ийн ойлгосон бүтцийг байрлуулах шаардлагатай болсон.

where ABLOCAL()

хувиргах мэдээллийн сангаас параметрийн уншилтыг зааж өгснөөр энэ барилгын утгыг тодорхойлно

ablocal_expr=«string_concat("mod(t.", string_filter_out("{$TABLE_KEY}","{}"), ",", (decimal(3))(number_of_partitions()),")=", (decimal(3))(this_partition()))»

гэх мэт зүйлийг эмхэтгэдэг

mod(sk,10)=3

, өөрөөр хэлбэл та GreenPlum-д хуваалт бүрийн хувьд тодорхой шүүлтүүр оруулах шаардлагатай. Бусад өгөгдлийн сангийн (Teradata, Oracle) хувьд Ab Initio автоматаар параллелжүүлэлтийг хийх боломжтой.

Hive болон GreenPlum хоёрын Ab Initio гүйцэтгэлийн харьцуулалт

Сбербанк нь MDW-ийн үүсгэсэн графикуудын гүйцэтгэлийг Hive болон GreenPlum-тай харьцуулах туршилт хийсэн. Туршилтын нэг хэсэг болох Hive-ийн хувьд Ab Initio-тэй ижил кластер дээр 5 зангилаа, GreenPlum-ийн хувьд тусдаа кластер дээр 4 зангилаа байсан. Тэдгээр. Hive нь GreenPlum-ээс зарим техник хангамжийн давуу талтай байсан.

Бид Hive болон GreenPlum дээрх өгөгдлийг шинэчлэхтэй ижил үүрэг гүйцэтгэдэг хоёр хос графикийг авч үзсэн. Үүний зэрэгцээ MDW тохируулагчийн үүсгэсэн графикуудыг эхлүүлсэн.

  • анхны ачаалал + санамсаргүй байдлаар үүсгэгдсэн өгөгдлийн үүрний хүснэгтэд нэмэгдэх ачаалал
  • Эхний ачаалал + санамсаргүй байдлаар үүсгэгдсэн өгөгдлийн нэг GreenPlum хүснэгтэд нэмэгдэх ачаалал

Аль ч тохиолдолд (Hive болон GreenPlum) тэд ижил Ab Initio кластер дээр 10 зэрэгцээ хэлхээнд байршуулалт хийсэн. Ab Initio нь HDFS-д тооцоолол хийх завсрын өгөгдлийг хадгалсан (Ab Initio-ийн хувьд HDFS ашиглан MFS зохион байгуулалтыг ашигласан). Санамсаргүй байдлаар үүсгэгдсэн өгөгдлийн нэг мөр нь хоёр тохиолдолд 200 байт эзэлсэн.

Үр дүн нь иймэрхүү байв.

Зөгийн үүр:

Hive-д анх удаа ачаалж байна

Мөр оруулсан
6 000 000
60 000 000
600 000 000

Эхлүүлэх хугацаа
секундын дотор татаж авдаг
41
203
1 601

Hive-д нэмэлт ачаалал

Боломжтой мөрийн тоо
туршилтын эхэнд зорилтот хүснэгт
6 000 000
60 000 000
600 000 000

Хэрэглэсэн гурвалжин шугамын тоо
туршилтын явцад зорилтот хүснэгт
6 000 000
6 000 000
6 000 000

Өсөн нэмэгдэж буй үргэлжлэх хугацаа
секундын дотор татаж авдаг
88
299
2 541

GreenPlum:

GreenPlum-д эхний ачаалал

Мөр оруулсан
6 000 000
60 000 000
600 000 000

Эхлүүлэх хугацаа
секундын дотор татаж авдаг
72
360
3 631

GreenPlum-д өсөн нэмэгдэж буй ачаалал

Боломжтой мөрийн тоо
туршилтын эхэнд зорилтот хүснэгт
6 000 000
60 000 000
600 000 000

Хэрэглэсэн гурвалжин шугамын тоо
туршилтын явцад зорилтот хүснэгт
6 000 000
6 000 000
6 000 000

Өсөн нэмэгдэж буй үргэлжлэх хугацаа
секундын дотор татаж авдаг
159
199
321

Hive болон GreenPlum-ийн аль алинд нь ачаалах хурд нь өгөгдлийн хэмжээнээс шугаман байдлаар хамаардаг бөгөөд илүү сайн техник хангамжийн улмаас Hive-ийн хувьд GreenPlum-ээс арай хурдан байгааг бид харж байна.

Hive-ийн нэмэгдэл ачаалал нь зорилтот хүснэгтэд байгаа өмнө нь ачаалагдсан өгөгдлийн хэмжээнээс шугаман хамааралтай бөгөөд эзлэхүүн нэмэгдэхийн хэрээр нэлээд удаан үргэлжилдэг. Энэ нь зорилтот хүснэгтийг бүрэн дахин бичих шаардлагаас үүдэлтэй юм. Энэ нь асар том хүснэгтэд жижиг өөрчлөлт оруулах нь Hive-ийн хувьд тийм ч тохиромжтой тохиолдол биш гэсэн үг юм.

GreenPlum-ийн нэмэгдэл ачаалал нь зорилтот хүснэгтэд байгаа өмнө нь ачаалагдсан өгөгдлийн хэмжээнээс бага хамааралтай бөгөөд маш хурдан явагддаг. Энэ нь устгах ажиллагааг зөвшөөрдөг SQL Joins болон GreenPlum архитектурын ачаар болсон.

Тиймээс GreenPlum нь Delta+insert аргыг ашиглан дельтийг нэмдэг боловч Hive-д устгах эсвэл шинэчлэх үйлдлүүд байхгүй тул өсөн нэмэгдэж буй шинэчлэлтийн явцад мэдээллийн массивыг бүхэлд нь дахин бичихээс өөр аргагүй болсон. Тод үсгээр тэмдэглэсэн нүднүүдийн харьцуулалт нь нөөц их шаарддаг татан авалтыг ашиглах хамгийн түгээмэл сонголттой тохирч байгаа тул хамгийн тод харагдаж байна. GreenPlum энэ туршилтанд Hive-г 8 удаа ялсныг бид харж байна.

GreenPlum-тай Ab Initio-г бодит цагийн горимд ажиллуулж байна

Энэ туршилтаар бид Ab Initio-ийн GreenPlum хүснэгтийг санамсаргүй байдлаар үүсгэсэн өгөгдлийн хэсгүүдээр ойрын хугацаанд шинэчлэх чадварыг шалгах болно. Бидний ажиллах GreenPlum хүснэгт dev42_1_db_usl.TESTING_SUBJ_org_finval-ийг авч үзье.

Бид түүнтэй ажиллахын тулд гурван Ab Initio график ашиглах болно:

1) Create_test_data.mp график – HDFS-д 10 зэрэгцээ хэлхээнд 6 мөр бүхий өгөгдлийн файлуудыг үүсгэдэг. Өгөгдөл нь санамсаргүй, бүтэц нь манай хүснэгтэд оруулахаар зохион байгуулагдсан

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

2) График mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset – Манай хүснэгтэд 10 зэрэгцээ хэлхээнд өгөгдөл оруулахыг эхлүүлснээр MDW үүсгэсэн график (1-р графикаар үүсгэгдсэн туршилтын өгөгдлийг ашигласан)

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

3) График mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset – (10) графикаар үүсгэсэн шинээр хүлээн авсан өгөгдлийн (дельта) хэсгийг ашиглан 1 зэрэгцээ хэлхээнд байгаа хүснэгтийг үе шаттайгаар шинэчлэх зорилгоор MDW-ээс үүсгэсэн график.

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах

Дараах скриптийг NRT горимд ажиллуулъя:

  • 6 туршилтын шугам үүсгэх
  • эхний ачааллыг гүйцэтгэх 6 туршилтын мөрийг хоосон хүснэгтэд оруулах
  • Өсөн нэмэгдэж буй татан авалтыг 5 удаа давтана
    • 6 туршилтын шугам үүсгэх
    • хүснэгтэд 6 тестийн мөрийг нэмэгдүүлэн оруулах (энэ тохиолдолд хүчинтэй_to_ts дуусах хугацааг хуучин өгөгдөлд тохируулж, ижил үндсэн түлхүүр бүхий сүүлийн үеийн өгөгдлийг оруулсан болно)

Энэ хувилбар нь тодорхой бизнесийн системийн бодит үйл ажиллагааны горимыг дуурайдаг - шинэ мэдээллийн нэлээд их хэсэг нь бодит цаг хугацаанд гарч ирдэг бөгөөд тэр даруй GreenPlum руу цутгагддаг.

Одоо скриптийн бүртгэлийг харцгаая:

Create_test_data.input.pset-ийг 2020-06-04 11:49:11-д эхлүүлнэ үү.
Create_test_data.input.pset-ийг 2020-06-04 11:49:37-д дуусгана уу.
mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:49:37-д эхлүүлнэ үү.
mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:50:42-д дуусгана уу
Create_test_data.input.pset-ийг 2020-06-04 11:50:42-д эхлүүлнэ үү.
Create_test_data.input.pset-ийг 2020-06-04 11:51:06-д дуусгана уу.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:51:06-д эхлүүлнэ үү.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:53:41-д дуусгана уу
Create_test_data.input.pset-ийг 2020-06-04 11:53:41-д эхлүүлнэ үү.
Create_test_data.input.pset-ийг 2020-06-04 11:54:04-д дуусгана уу.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:54:04-д эхлүүлнэ үү.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:56:51-д дуусгана уу
Create_test_data.input.pset-ийг 2020-06-04 11:56:51-д эхлүүлнэ үү.
Create_test_data.input.pset-ийг 2020-06-04 11:57:14-д дуусгана уу.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:57:14-д эхлүүлнэ үү.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 11:59:55-д дуусгана уу
Create_test_data.input.pset-ийг 2020-06-04 11:59:55-д эхлүүлнэ үү.
Create_test_data.input.pset-ийг 2020-06-04 12:00:23-д дуусгана уу.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 12:00:23-д эхлүүлнэ үү.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 12:03:23-д дуусгана уу
Create_test_data.input.pset-ийг 2020-06-04 12:03:23-д эхлүүлнэ үү.
Create_test_data.input.pset-ийг 2020-06-04 12:03:49-д дуусгана уу.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 12:03:49-д эхлүүлнэ үү.
mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset-г 2020-06-04 12:06:46-д дуусгана уу

Энэ зураг гарч ирэв:

График
Эхлэх цаг
Дуусах цаг
Урт

Create_test_data.input.pset
04.06.2020 11: 49: 11
04.06.2020 11: 49: 37
00:00:26

mdw_load.day_one.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 49: 37
04.06.2020 11: 50: 42
00:01:05

Create_test_data.input.pset
04.06.2020 11: 50: 42
04.06.2020 11: 51: 06
00:00:24

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 51: 06
04.06.2020 11: 53: 41
00:02:35

Create_test_data.input.pset
04.06.2020 11: 53: 41
04.06.2020 11: 54: 04
00:00:23

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 54: 04
04.06.2020 11: 56: 51
00:02:47

Create_test_data.input.pset
04.06.2020 11: 56: 51
04.06.2020 11: 57: 14
00:00:23

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 57: 14
04.06.2020 11: 59: 55
00:02:41

Create_test_data.input.pset
04.06.2020 11: 59: 55
04.06.2020 12: 00: 23
00:00:28

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12: 00: 23
04.06.2020 12: 03: 23
00:03:00

Create_test_data.input.pset
04.06.2020 12: 03: 23
04.06.2020 12: 03: 49
00:00:26

mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12: 03: 49
04.06.2020 12: 06: 46
00:02:57

6 өсөлтийн шугамыг 000 минутын дотор боловсруулж байгааг бид харж байна, энэ нь маш хурдан юм.
Зорилтот хүснэгтэд байгаа өгөгдлийг дараах байдлаар тараасан байна.

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;

Та Sber масштабтай үед. Ab Initio-г Hive болон GreenPlum-тай ашиглах
Та оруулсан өгөгдлүүд нь графикуудыг эхлүүлсэн цагтай харьцаж байгааг харж болно.
Энэ нь та Ab Initio-д GreenPlum-д өгөгдлийг маш өндөр давтамжтайгаар аажмаар ачаалж, GreenPlum-д энэ өгөгдлийг оруулах өндөр хурдыг ажиглаж болно гэсэн үг юм. Мэдээжийн хэрэг, Ab Initio нь ямар ч ETL хэрэгслийн нэгэн адил эхлүүлэхэд "эхлүүлэх" хугацаа шаарддаг тул секундэд нэг удаа эхлүүлэх боломжгүй.

дүгнэлт

Ab Initio нь одоогоор Сбербанк дээр нэгдсэн семантик мэдээллийн давхарга (ESS) бүтээхэд ашиглагдаж байна. Энэхүү төсөл нь янз бүрийн банкны аж ахуйн нэгжүүдийн төлөв байдлын нэгдсэн хувилбарыг бий болгохыг хамардаг. Мэдээллийг янз бүрийн эх сурвалжаас авдаг бөгөөд тэдгээрийн хуулбарыг Hadoop дээр бэлтгэсэн болно. Бизнесийн хэрэгцээнд үндэслэн өгөгдлийн загварыг бэлтгэж, өгөгдлийн хувиргалтыг тайлбарладаг. Ab Initio нь мэдээллийг ESN-д ачаалдаг бөгөөд татаж авсан өгөгдөл нь зөвхөн бизнест сонирхолтой байхаас гадна мэдээллийн захыг бий болгох эх сурвалж болдог. Үүний зэрэгцээ, бүтээгдэхүүний функциональ байдал нь янз бүрийн системийг хүлээн авагч (Hive, Greenplum, Teradata, Oracle) болгон ашиглах боломжийг олгодог бөгөөд энэ нь бизнест шаардлагатай янз бүрийн форматаар өгөгдлийг хялбархан бэлтгэх боломжийг олгодог.

Ab Initio-ийн чадавхи нь өргөн цар хүрээтэй; жишээлбэл, MDW-ийн хүрээ нь техникийн болон бизнесийн түүхийн өгөгдлийг хайрцагнаас гаргах боломжтой болгодог. Хөгжүүлэгчдийн хувьд Ab Initio нь дугуйг дахин зохион бүтээхгүй, харин өгөгдөлтэй ажиллахад шаардлагатай номын сан болох одоо байгаа олон функциональ бүрэлдэхүүн хэсгүүдийг ашиглах боломжийг олгодог.

Зохиогч нь Sberbank SberProfi DWH/BigData-ийн мэргэжлийн нийгэмлэгийн мэргэжилтэн юм. SberProfi DWH/BigData мэргэжлийн нийгэмлэг нь Hadoop экосистем, Teradata, Oracle DB, GreenPlum, түүнчлэн Qlik, SAP BO, Tableau гэх мэт BI хэрэгслүүдийн чадамжийг хөгжүүлэх үүрэгтэй.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх