Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Beberapa ketika dahulu, kami berhadapan dengan persoalan memilih alat ETL untuk bekerja dengan Data Besar. Penyelesaian Informatica BDM yang digunakan sebelum ini tidak sesuai dengan kami kerana fungsi yang terhad. Penggunaannya telah dikurangkan kepada rangka kerja untuk melancarkan arahan serah percikan. Tidak banyak analog di pasaran yang, pada dasarnya, mampu bekerja dengan jumlah data yang kami berurusan setiap hari. Akhirnya kami memilih Ab Initio. Semasa demonstrasi perintis, produk menunjukkan kelajuan pemprosesan data yang sangat tinggi. Hampir tiada maklumat tentang Ab Initio dalam bahasa Rusia, jadi kami memutuskan untuk bercakap tentang pengalaman kami di HabrΓ©.

Ab Initio mempunyai banyak transformasi klasik dan luar biasa, yang kodnya boleh dilanjutkan menggunakan bahasa PDLnya sendiri. Untuk perniagaan kecil, alat berkuasa seperti itu mungkin berlebihan, dan kebanyakan keupayaannya mungkin mahal dan tidak digunakan. Tetapi jika skala anda hampir dengan skala Sberov, maka Ab Initio mungkin menarik untuk anda.

Ia membantu perniagaan untuk mengumpul pengetahuan secara global dan membangunkan ekosistem, dan pembangun untuk meningkatkan kemahirannya dalam ETL, meningkatkan pengetahuannya dalam cangkerang, memberi peluang untuk menguasai bahasa PDL, memberikan gambaran visual proses pemuatan, dan memudahkan pembangunan disebabkan oleh banyaknya komponen berfungsi.

Dalam siaran ini saya akan bercakap tentang keupayaan Ab Initio dan memberikan ciri perbandingan kerjanya dengan Hive dan GreenPlum.

  • Penerangan tentang rangka kerja MDW dan kerja pada penyesuaiannya untuk GreenPlum
  • Perbandingan prestasi Ab Initio antara Hive dan GreenPlum
  • Bekerja Ab Initio dengan GreenPlum dalam mod Near Real Time


Fungsi produk ini sangat luas dan memerlukan banyak masa untuk belajar. Walau bagaimanapun, dengan kemahiran kerja yang betul dan tetapan prestasi yang betul, hasil pemprosesan data sangat mengagumkan. Menggunakan Ab Initio untuk pembangun boleh memberikan pengalaman yang menarik. Ini adalah pandangan baharu tentang pembangunan ETL, gabungan antara persekitaran visual dan pembangunan muat turun dalam bahasa seperti skrip.

Perniagaan sedang membangunkan ekosistem mereka dan alat ini lebih berguna berbanding sebelum ini. Dengan Ab Initio, anda boleh mengumpul pengetahuan tentang perniagaan semasa anda dan menggunakan pengetahuan ini untuk mengembangkan perniagaan lama dan membuka perniagaan baharu. Alternatif kepada Ab Initio termasuk persekitaran pembangunan visual Informatica BDM dan persekitaran pembangunan bukan visual Apache Spark.

Penerangan mengenai Ab Initio

Ab Initio, seperti alat ETL lain, ialah koleksi produk.

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Ab Initio GDE (Persekitaran Pembangunan Grafik) ialah persekitaran untuk pembangun di mana dia mengkonfigurasi transformasi data dan menghubungkannya dengan aliran data dalam bentuk anak panah. Dalam kes ini, set transformasi sedemikian dipanggil graf:

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Sambungan input dan output komponen berfungsi adalah port dan mengandungi medan yang dikira dalam transformasi. Beberapa graf yang dihubungkan dengan aliran dalam bentuk anak panah mengikut urutan pelaksanaannya dipanggil pelan.

Terdapat beberapa ratus komponen berfungsi, yang banyak. Ramai daripada mereka mempunyai kepakaran tinggi. Keupayaan transformasi klasik dalam Ab Initio adalah lebih luas berbanding alat ETL yang lain. Sebagai contoh, Sertai mempunyai berbilang output. Selain hasil penyambungan set data, anda boleh mendapatkan rekod output set data input yang kuncinya tidak dapat disambungkan. Anda juga boleh mendapatkan penolakan, ralat dan log operasi transformasi, yang boleh dibaca dalam lajur yang sama sebagai fail teks dan diproses dengan transformasi lain:

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Atau, sebagai contoh, anda boleh mewujudkan penerima data dalam bentuk jadual dan membaca data daripadanya dalam lajur yang sama.

Terdapat transformasi asal. Contohnya, transformasi Imbasan mempunyai fungsi yang serupa dengan fungsi analisis. Terdapat transformasi dengan nama yang menerangkan sendiri: Cipta Data, Baca Excel, Normalize, Isih dalam Kumpulan, Jalankan Program, Jalankan SQL, Sertai dengan DB, dsb. Graf boleh menggunakan parameter masa jalan, termasuk kemungkinan menghantar parameter dari atau ke sistem pengendalian. Fail dengan set parameter siap sedia dihantar ke graf dipanggil set parameter (pset).

Seperti yang dijangkakan, Ab Initio GDE mempunyai repositori sendiri yang dipanggil EME (Enterprise Meta Environment). Pembangun mempunyai peluang untuk bekerja dengan versi kod tempatan dan menyemak perkembangan mereka ke dalam repositori pusat.

Adalah mungkin, semasa pelaksanaan atau selepas melaksanakan graf, untuk mengklik mana-mana aliran yang menyambungkan transformasi dan melihat data yang berlalu antara transformasi ini:

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Anda juga boleh mengklik pada mana-mana strim dan melihat butiran penjejakan - berapa banyak selari transformasi itu berfungsi, berapa banyak baris dan bait telah dimuatkan ke dalam persamaan mana:

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Adalah mungkin untuk membahagikan pelaksanaan graf kepada fasa dan menandakan bahawa beberapa transformasi perlu dilakukan terlebih dahulu (dalam fasa sifar), yang seterusnya dalam fasa pertama, yang seterusnya dalam fasa kedua, dsb.

Untuk setiap transformasi, anda boleh memilih susun atur yang dipanggil (di mana ia akan dilaksanakan): tanpa selari atau dalam benang selari, bilangan yang boleh ditentukan. Pada masa yang sama, fail sementara yang Ab Initio cipta semasa transformasi berjalan boleh diletakkan dalam sistem fail pelayan dan dalam HDFS.

Dalam setiap transformasi, berdasarkan templat lalai, anda boleh mencipta skrip anda sendiri dalam PDL, yang sedikit seperti cangkerang.

Dengan PDL, anda boleh melanjutkan fungsi transformasi dan, khususnya, anda boleh secara dinamik (pada masa jalan) menjana serpihan kod arbitrari bergantung pada parameter masa jalan.

Ab Initio juga mempunyai integrasi yang dibangunkan dengan baik dengan OS melalui shell. Secara khusus, Sberbank menggunakan linux ksh. Anda boleh menukar pembolehubah dengan shell dan menggunakannya sebagai parameter graf. Anda boleh memanggil pelaksanaan graf Ab Initio daripada cangkerang dan mentadbir Ab Initio.

Selain Ab Initio GDE, banyak produk lain disertakan dalam penghantaran. Terdapat Sistem Kerjasamanya sendiri dengan tuntutan untuk dipanggil sistem pengendalian. Terdapat Control>Center di mana anda boleh menjadualkan dan memantau aliran muat turun. Terdapat produk untuk melakukan pembangunan pada tahap yang lebih primitif daripada yang dibenarkan oleh Ab Initio GDE.

Penerangan tentang rangka kerja MDW dan kerja pada penyesuaiannya untuk GreenPlum

Bersama-sama dengan produknya, vendor membekalkan produk MDW (Metadata Driven Warehouse), yang merupakan konfigurator graf yang direka untuk membantu dengan tugas biasa mengisi gudang data atau peti besi data.

Ia mengandungi penghurai metadata tersuai (khusus projek) dan penjana kod sedia dibuat di luar kotak.

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum
Sebagai input, MDW menerima model data, fail konfigurasi untuk menyediakan sambungan ke pangkalan data (Oracle, Teradata atau Hive) dan beberapa tetapan lain. Bahagian khusus projek, sebagai contoh, menggunakan model ke pangkalan data. Bahagian luar kotak produk menjana graf dan fail konfigurasi untuk mereka dengan memuatkan data ke dalam jadual model. Dalam kes ini, graf (dan pset) dicipta untuk beberapa mod permulaan dan kerja tambahan untuk mengemas kini entiti.

Dalam kes Hive dan RDBMS, graf berbeza dijana untuk permulaan dan kemas kini data tambahan.

Dalam kes Hive, data delta masuk disambungkan melalui Ab Initio Sertai dengan data yang terdapat dalam jadual sebelum kemas kini. Pemuat data dalam MDW (kedua-duanya dalam Hive dan RDBMS) bukan sahaja memasukkan data baharu daripada delta, tetapi juga menutup tempoh perkaitan data yang kunci utamanya menerima delta. Di samping itu, anda perlu menulis semula bahagian data yang tidak berubah. Tetapi ini perlu dilakukan kerana Hive tidak mempunyai operasi pemadaman atau kemas kini.

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Dalam kes RDBMS, graf untuk pengemaskinian data tambahan kelihatan lebih optimum, kerana RDBMS mempunyai keupayaan pengemaskinian sebenar.

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Delta yang diterima dimuatkan ke dalam jadual perantaraan dalam pangkalan data. Selepas ini, delta disambungkan kepada data yang ada dalam jadual sebelum kemas kini. Dan ini dilakukan menggunakan SQL menggunakan pertanyaan SQL yang dihasilkan. Seterusnya, menggunakan perintah SQL padam+masukkan, data baharu daripada delta dimasukkan ke dalam jadual sasaran dan tempoh perkaitan data yang kunci utamanya menerima delta ditutup.
Tidak perlu menulis semula data yang tidak berubah.

Jadi kami sampai pada kesimpulan bahawa dalam kes Hive, MDW perlu pergi untuk menulis semula keseluruhan jadual kerana Hive tidak mempunyai fungsi kemas kini. Dan tiada yang lebih baik daripada menulis semula data sepenuhnya apabila pengemaskinian telah dicipta. Dalam kes RDBMS, sebaliknya, pencipta produk mendapati perlu untuk mempercayakan sambungan dan pengemaskinian jadual kepada penggunaan SQL.

Untuk projek di Sberbank, kami mencipta pelaksanaan baharu pemuat pangkalan data yang boleh digunakan semula untuk GreenPlum. Ini dilakukan berdasarkan versi yang MDW hasilkan untuk Teradata. Teradata, dan bukan Oracle, yang paling hampir dan terbaik untuk ini, kerana... juga merupakan sistem MPP. Kaedah kerja, serta sintaks, Teradata dan GreenPlum ternyata serupa.

Contoh perbezaan kritikal MDW antara RDBMS berbeza adalah seperti berikut. Dalam GreenPlum, tidak seperti Teradata, apabila membuat jadual anda perlu menulis klausa

distributed by

Teradata menulis:

delete <table> all

, dan dalam GreenPlum mereka menulis

delete from <table>

Dalam Oracle, untuk tujuan pengoptimuman mereka menulis

delete from t where rowid in (<соСдинСниС t с Π΄Π΅Π»ΡŒΡ‚ΠΎΠΉ>)

, dan Teradata dan GreenPlum menulis

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

Kami juga ambil perhatian bahawa untuk Ab Initio bekerja dengan GreenPlum, adalah perlu untuk memasang klien GreenPlum pada semua nod gugusan Ab Initio. Ini kerana kami menyambung ke GreenPlum secara serentak dari semua nod dalam kelompok kami. Dan untuk membaca daripada GreenPlum selari dan setiap utas Ab Initio selari untuk membaca bahagian datanya sendiri daripada GreenPlum, kami perlu meletakkan pembinaan yang difahami oleh Ab Initio dalam bahagian "di mana" pertanyaan SQL

where ABLOCAL()

dan tentukan nilai binaan ini dengan menyatakan bacaan parameter daripada pangkalan data transformasi

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

, yang menyusun kepada sesuatu seperti

mod(sk,10)=3

, iaitu anda perlu menggesa GreenPlum dengan penapis eksplisit untuk setiap partition. Untuk pangkalan data lain (Teradata, Oracle), Ab Initio boleh melakukan penyejajaran ini secara automatik.

Perbandingan prestasi Ab Initio antara Hive dan GreenPlum

Sberbank menjalankan percubaan untuk membandingkan prestasi graf yang dijana MDW berhubung dengan Hive dan berhubung dengan GreenPlum. Sebagai sebahagian daripada eksperimen, dalam kes Hive terdapat 5 nod pada kluster yang sama dengan Ab Initio, dan dalam kes GreenPlum terdapat 4 nod pada kluster yang berasingan. Itu. Hive mempunyai beberapa kelebihan perkakasan berbanding GreenPlum.

Kami mempertimbangkan dua pasang graf yang melakukan tugas yang sama untuk mengemas kini data dalam Hive dan GreenPlum. Pada masa yang sama, graf yang dijana oleh configurator MDW telah dilancarkan:

  • beban awal + beban tambahan data yang dijana secara rawak ke dalam jadual Hive
  • beban awal + beban tambahan data yang dijana secara rawak ke dalam jadual GreenPlum yang sama

Dalam kedua-dua kes (Hive dan GreenPlum) mereka menjalankan muat naik ke 10 utas selari pada kelompok Ab Initio yang sama. Ab Initio menyimpan data perantaraan untuk pengiraan dalam HDFS (dari segi Ab Initio, reka letak MFS menggunakan HDFS telah digunakan). Satu baris data yang dijana secara rawak menduduki 200 bait dalam kedua-dua kes.

Hasilnya adalah seperti ini:

Sarang:

Pemuatan awal dalam Hive

Baris disisipkan
6 000 000
60 000 000
600 000 000

Tempoh permulaan
muat turun dalam beberapa saat
41
203
1 601

Pemuatan tambahan dalam Hive

Bilangan baris tersedia dalam
jadual sasaran pada permulaan eksperimen
6 000 000
60 000 000
600 000 000

Bilangan garisan delta digunakan pada
jadual sasaran semasa eksperimen
6 000 000
6 000 000
6 000 000

Tempoh penambahan
muat turun dalam beberapa saat
88
299
2 541

GreenPlum:

Pemuatan awal dalam GreenPlum

Baris disisipkan
6 000 000
60 000 000
600 000 000

Tempoh permulaan
muat turun dalam beberapa saat
72
360
3 631

Pemuatan tambahan dalam GreenPlum

Bilangan baris tersedia dalam
jadual sasaran pada permulaan eksperimen
6 000 000
60 000 000
600 000 000

Bilangan garisan delta digunakan pada
jadual sasaran semasa eksperimen
6 000 000
6 000 000
6 000 000

Tempoh penambahan
muat turun dalam beberapa saat
159
199
321

Kami melihat bahawa kelajuan pemuatan awal dalam kedua-dua Hive dan GreenPlum secara linear bergantung pada jumlah data dan, atas sebab perkakasan yang lebih baik, ia lebih pantas sedikit untuk Hive berbanding GreenPlum.

Pemuatan tambahan dalam Hive juga bergantung secara linear pada volum data yang dimuatkan sebelumnya yang tersedia dalam jadual sasaran dan berjalan agak perlahan apabila volum bertambah. Ini disebabkan oleh keperluan untuk menulis semula jadual sasaran sepenuhnya. Ini bermakna bahawa menggunakan perubahan kecil pada jadual besar bukanlah kes penggunaan yang baik untuk Hive.

Pemuatan tambahan dalam GreenPlum bergantung pada jumlah data yang dimuatkan sebelumnya yang tersedia dalam jadual sasaran dan berjalan dengan cepat. Ini berlaku terima kasih kepada SQL Joins dan seni bina GreenPlum, yang membenarkan operasi pemadaman.

Jadi, GreenPlum menambah delta menggunakan kaedah padam+masukkan, tetapi Hive tidak mempunyai operasi pemadaman atau kemas kini, jadi keseluruhan tatasusunan data terpaksa ditulis semula sepenuhnya semasa kemas kini tambahan. Perbandingan sel yang diserlahkan dalam huruf tebal adalah paling mendedahkan, kerana ia sepadan dengan pilihan yang paling biasa untuk menggunakan muat turun intensif sumber. Kami melihat bahawa GreenPlum mengalahkan Hive dalam ujian ini sebanyak 8 kali.

Bekerja Ab Initio dengan GreenPlum dalam mod Near Real Time

Dalam percubaan ini, kami akan menguji keupayaan Ab Initio untuk mengemas kini jadual GreenPlum dengan ketulan data yang dijana secara rawak dalam hampir masa nyata. Mari kita pertimbangkan jadual GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval, yang akan kami gunakan.

Kami akan menggunakan tiga graf Ab Initio untuk bekerja dengannya:

1) Graf Create_test_data.mp – mencipta fail data dalam HDFS dengan 10 baris dalam 6 benang selari. Data adalah rawak, strukturnya disusun untuk dimasukkan ke dalam jadual kami

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

2) Graf mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset – MDW menjana graf dengan memulakan pemasukan data ke dalam jadual kami dalam 10 benang selari (data ujian yang dijana oleh graf (1) digunakan)

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

3) Graf mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset – graf yang dijana oleh MDW untuk pengemaskinian tambahan jadual kami dalam 10 utas selari menggunakan sebahagian daripada data yang baru diterima (delta) yang dijana oleh graf (1)

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Mari jalankan skrip di bawah dalam mod NRT:

  • menjana 6 talian ujian
  • melaksanakan beban awal memasukkan 6 baris ujian ke dalam jadual kosong
  • ulang muat turun tambahan sebanyak 5 kali
    • menjana 6 talian ujian
    • lakukan sisipan tambahan sebanyak 6 baris ujian ke dalam jadual (dalam kes ini, masa tamat tempoh valid_to_ts ditetapkan kepada data lama dan data yang lebih terkini dengan kunci utama yang sama dimasukkan)

Senario ini meniru mod operasi sebenar sistem perniagaan tertentu - sebahagian besar data baharu muncul dalam masa nyata dan segera dituangkan ke dalam GreenPlum.

Sekarang mari kita lihat log skrip:

Mulakan Create_test_data.input.pset pada 2020-06-04 11:49:11
Selesaikan Create_test_data.input.pset pada 2020-06-04 11:49:37
Mulakan mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:49:37
Selesaikan mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:50:42
Mulakan Create_test_data.input.pset pada 2020-06-04 11:50:42
Selesaikan Create_test_data.input.pset pada 2020-06-04 11:51:06
Mulakan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:51:06
Selesaikan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:53:41
Mulakan Create_test_data.input.pset pada 2020-06-04 11:53:41
Selesaikan Create_test_data.input.pset pada 2020-06-04 11:54:04
Mulakan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:54:04
Selesaikan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:56:51
Mulakan Create_test_data.input.pset pada 2020-06-04 11:56:51
Selesaikan Create_test_data.input.pset pada 2020-06-04 11:57:14
Mulakan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:57:14
Selesaikan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 11:59:55
Mulakan Create_test_data.input.pset pada 2020-06-04 11:59:55
Selesaikan Create_test_data.input.pset pada 2020-06-04 12:00:23
Mulakan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 12:00:23
Selesaikan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 12:03:23
Mulakan Create_test_data.input.pset pada 2020-06-04 12:03:23
Selesaikan Create_test_data.input.pset pada 2020-06-04 12:03:49
Mulakan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 12:03:49
Selesaikan mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset pada 2020-06-04 12:06:46

Ternyata gambar ini:

Grafik
Masa mula
Masa selesai
Panjang

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

Kami melihat bahawa 6 garis kenaikan diproses dalam masa 000 minit, yang agak pantas.
Data dalam jadual sasaran ternyata diedarkan seperti berikut:

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;

Apabila anda mempunyai penimbang Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum
Anda boleh melihat surat-menyurat data yang dimasukkan dengan masa graf dilancarkan.
Ini bermakna anda boleh menjalankan pemuatan tambahan data ke dalam GreenPlum dalam Ab Initio dengan frekuensi yang sangat tinggi dan memerhatikan kelajuan tinggi memasukkan data ini ke dalam GreenPlum. Sudah tentu, ia tidak mungkin untuk dilancarkan sekali sesaat, kerana Ab Initio, seperti mana-mana alat ETL, memerlukan masa untuk "memulakan" apabila dilancarkan.

Kesimpulan

Ab Initio kini digunakan di Sberbank untuk membina Lapisan Data Semantik Bersepadu (ESS). Projek ini melibatkan membina versi bersatu keadaan pelbagai entiti perniagaan perbankan. Maklumat datang daripada pelbagai sumber, yang replikanya disediakan di Hadoop. Berdasarkan keperluan perniagaan, model data disediakan dan transformasi data diterangkan. Ab Initio memuatkan maklumat ke dalam ESN dan data yang dimuat turun bukan sahaja menarik minat perniagaan itu sendiri, tetapi juga berfungsi sebagai sumber untuk membina data mart. Pada masa yang sama, fungsi produk membolehkan anda menggunakan pelbagai sistem sebagai penerima (Hive, Greenplum, Teradata, Oracle), yang membolehkan anda menyediakan data dengan mudah untuk perniagaan dalam pelbagai format yang diperlukan.

Keupayaan Ab Initio adalah luas; sebagai contoh, rangka kerja MDW yang disertakan memungkinkan untuk membina data sejarah teknikal dan perniagaan di luar kotak. Bagi pembangun, Ab Initio memungkinkan untuk tidak mencipta semula roda, tetapi menggunakan banyak komponen berfungsi sedia ada, yang pada asasnya adalah perpustakaan yang diperlukan apabila bekerja dengan data.

Penulis adalah pakar dalam komuniti profesional Sberbank SberProfi DWH/BigData. Komuniti profesional SberProfi DWH/BigData bertanggungjawab untuk membangunkan kecekapan dalam bidang seperti ekosistem Hadoop, Teradata, Oracle DB, GreenPlum, serta alat BI Qlik, SAP BO, Tableau, dsb.

Sumber: www.habr.com

Tambah komen