Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Beberapa waktu lalu, kita dihadapkan pada pertanyaan memilih alat ETL untuk bekerja dengan Big Data. Solusi Informatica BDM yang digunakan sebelumnya tidak cocok untuk kami karena fungsinya yang terbatas. Penggunaannya telah direduksi menjadi kerangka kerja untuk meluncurkan perintah pengiriman percikan. Tidak banyak analog di pasaran yang, pada prinsipnya, mampu bekerja dengan volume data yang kita tangani setiap hari. Pada akhirnya kami memilih Ab Initio. Selama demonstrasi percontohan, produk menunjukkan kecepatan pemrosesan data yang sangat tinggi. Hampir tidak ada informasi tentang Ab Initio dalam bahasa Rusia, jadi kami memutuskan untuk membicarakan pengalaman kami di HabrΓ©.

Ab Initio memiliki banyak transformasi klasik dan tidak biasa, yang kodenya dapat diperluas menggunakan bahasa PDL-nya sendiri. Untuk usaha kecil, alat canggih seperti itu mungkin berlebihan, dan sebagian besar kemampuannya mungkin mahal dan tidak terpakai. Namun jika skala Anda mendekati skala Sberov, maka Ab Initio mungkin menarik bagi Anda.

Ini membantu bisnis untuk mengumpulkan pengetahuan secara global dan mengembangkan ekosistem, dan pengembang untuk meningkatkan keterampilannya dalam ETL, meningkatkan pengetahuannya di shell, memberikan kesempatan untuk menguasai bahasa PDL, memberikan gambaran visual tentang proses pemuatan, dan menyederhanakan pengembangan karena banyaknya komponen fungsional.

Pada postingan kali ini saya akan membahas tentang kemampuan Ab Initio dan memberikan karakteristik komparatif pekerjaannya dengan Hive dan GreenPlum.

  • Deskripsi kerangka kerja MDW dan upaya penyesuaiannya untuk GreenPlum
  • Perbandingan kinerja Ab Initio antara Hive dan GreenPlum
  • Bekerja Ab Initio dengan GreenPlum dalam mode Near Real Time


Fungsionalitas produk ini sangat luas dan memerlukan banyak waktu untuk mempelajarinya. Namun, dengan keterampilan kerja yang tepat dan pengaturan kinerja yang tepat, hasil pengolahan datanya sangat mengesankan. Menggunakan Ab Initio untuk seorang developer dapat memberikan pengalaman yang menarik. Ini adalah pandangan baru dalam pengembangan ETL, gabungan antara lingkungan visual dan pengembangan unduhan dalam bahasa seperti skrip.

Dunia usaha sedang mengembangkan ekosistemnya dan alat ini semakin berguna. Dengan Ab Initio, Anda dapat mengumpulkan pengetahuan tentang bisnis Anda saat ini dan menggunakan pengetahuan ini untuk memperluas bisnis lama dan membuka bisnis baru. Alternatif untuk Ab Initio mencakup lingkungan pengembangan visual Informatica BDM dan lingkungan pengembangan non-visual Apache Spark.

Deskripsi Ab Initio

Ab Initio, seperti alat ETL lainnya, adalah kumpulan produk.

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Ab Initio GDE (Graphical Development Environment) adalah lingkungan bagi pengembang tempat ia mengonfigurasi transformasi data dan menghubungkannya dengan aliran data dalam bentuk panah. Dalam hal ini, himpunan transformasi tersebut disebut grafik:

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Koneksi input dan output komponen fungsional adalah port dan berisi bidang yang dihitung dalam transformasi. Beberapa graf yang dihubungkan oleh aliran-aliran yang berbentuk anak panah sesuai urutan pelaksanaannya disebut rencana.

Ada beberapa ratus komponen fungsional, dan itu banyak sekali. Banyak dari mereka sangat terspesialisasi. Kemampuan transformasi klasik di Ab Initio lebih luas dibandingkan alat ETL lainnya. Misalnya, Gabung memiliki banyak keluaran. Selain hasil penyambungan kumpulan data, Anda juga bisa mendapatkan rekaman keluaran kumpulan data masukan yang kuncinya tidak dapat dihubungkan. Anda juga bisa mendapatkan penolakan, kesalahan, dan log operasi transformasi, yang dapat dibaca di kolom yang sama dengan file teks dan diproses dengan transformasi lainnya:

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Atau, misalnya, Anda bisa mewujudkan penerima data dalam bentuk tabel dan membaca data darinya dalam kolom yang sama.

Ada transformasi asli. Misalnya, transformasi Pindai memiliki fungsionalitas yang mirip dengan fungsi analitis. Ada transformasi dengan nama yang cukup jelas: Buat Data, Baca Excel, Normalisasi, Urutkan dalam Grup, Jalankan Program, Jalankan SQL, Gabung dengan DB, dll. Grafik dapat menggunakan parameter run-time, termasuk kemungkinan meneruskan parameter dari atau ke sistem operasi. File dengan kumpulan parameter siap pakai yang diteruskan ke grafik disebut kumpulan parameter (psets).

Seperti yang diharapkan, Ab Initio GDE memiliki repositori sendiri yang disebut EME (Enterprise Meta Environment). Pengembang memiliki kesempatan untuk bekerja dengan kode versi lokal dan memeriksa perkembangannya ke dalam repositori pusat.

Selama eksekusi atau setelah mengeksekusi grafik, dimungkinkan untuk mengklik aliran apa pun yang menghubungkan transformasi dan melihat data yang lewat di antara transformasi ini:

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Anda juga dapat mengeklik aliran mana pun dan melihat detail pelacakan - berapa banyak paralel yang dilakukan transformasi, berapa banyak baris dan byte yang dimuat ke dalam paralel mana:

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Dimungkinkan untuk membagi eksekusi grafik menjadi beberapa fase dan menandai bahwa beberapa transformasi perlu dilakukan terlebih dahulu (dalam fase nol), transformasi berikutnya pada fase pertama, transformasi berikutnya pada fase kedua, dan seterusnya.

Untuk setiap transformasi, Anda dapat memilih apa yang disebut tata letak (di mana ia akan dieksekusi): tanpa paralel atau utas paralel, yang jumlahnya dapat ditentukan. Pada saat yang sama, file sementara yang dibuat Ab Initio saat transformasi sedang berjalan dapat ditempatkan di sistem file server dan di HDFS.

Dalam setiap transformasi, berdasarkan template default, Anda dapat membuat skrip Anda sendiri di PDL, yang mirip dengan shell.

Dengan PDL, Anda dapat memperluas fungsionalitas transformasi dan, khususnya, Anda dapat secara dinamis (saat runtime) menghasilkan fragmen kode arbitrer bergantung pada parameter runtime.

Ab Initio juga memiliki integrasi yang berkembang dengan baik dengan OS melalui shell. Secara khusus, Bank Tabungan menggunakan linux ksh. Anda dapat bertukar variabel dengan shell dan menggunakannya sebagai parameter grafik. Anda dapat memanggil eksekusi grafik Ab Initio dari shell dan mengelola Ab Initio.

Selain Ab Initio GDE, banyak produk lain yang disertakan dalam pengiriman. Ada Co>Operation System sendiri dengan klaim disebut sistem operasi. Ada Kontrol>Pusat di mana Anda dapat menjadwalkan dan memantau alur pengunduhan. Ada produk untuk melakukan pengembangan pada tingkat yang lebih primitif daripada yang dimungkinkan oleh Ab Initio GDE.

Deskripsi kerangka kerja MDW dan upaya penyesuaiannya untuk GreenPlum

Bersamaan dengan produknya, vendor memasok produk MDW (Metadata Driven Warehouse), yang merupakan konfigurator grafik yang dirancang untuk membantu tugas-tugas umum dalam mengisi gudang data atau brankas data.

Ini berisi pengurai metadata khusus (khusus proyek) dan pembuat kode siap pakai.

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum
Sebagai masukan, MDW menerima model data, file konfigurasi untuk menyiapkan koneksi ke database (Oracle, Teradata atau Hive) dan beberapa pengaturan lainnya. Bagian spesifik proyek, misalnya, menyebarkan model ke database. Bagian produk yang siap pakai menghasilkan grafik dan file konfigurasi dengan memuat data ke dalam tabel model. Dalam hal ini, grafik (dan pset) dibuat untuk beberapa mode inisialisasi dan pekerjaan tambahan dalam memperbarui entitas.

Dalam kasus Hive dan RDBMS, grafik berbeda dihasilkan untuk inisialisasi dan pembaruan data tambahan.

Dalam kasus Hive, data delta yang masuk dihubungkan melalui Ab Initio Join dengan data yang ada di tabel sebelum pembaruan. Pemuat data di MDW (baik di Hive maupun RDBMS) tidak hanya memasukkan data baru dari delta, namun juga menutup periode relevansi data yang kunci utamanya menerima delta. Selain itu, Anda harus menulis ulang bagian data yang tidak diubah. Namun hal ini harus dilakukan karena Hive tidak memiliki operasi penghapusan atau pembaruan.

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Dalam kasus RDBMS, grafik untuk pemutakhiran data inkremental terlihat lebih optimal, karena RDBMS memiliki kemampuan pemutakhiran yang nyata.

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Delta yang diterima dimuat ke dalam tabel perantara di database. Setelah ini, delta terhubung ke data yang ada di tabel sebelum pembaruan. Dan ini dilakukan dengan menggunakan SQL menggunakan kueri SQL yang dihasilkan. Selanjutnya, dengan menggunakan perintah SQL delete+insert, data baru dari delta dimasukkan ke dalam tabel target dan periode relevansi data yang kunci utamanya menerima delta ditutup.
Tidak perlu menulis ulang data yang tidak diubah.

Jadi kami sampai pada kesimpulan bahwa dalam kasus Hive, MDW harus menulis ulang seluruh tabel karena Hive tidak memiliki fungsi pembaruan. Dan tidak ada yang lebih baik daripada menulis ulang data sepenuhnya ketika pembaruan telah ditemukan. Sebaliknya, dalam kasus RDBMS, pembuat produk merasa perlu untuk mempercayakan koneksi dan pembaruan tabel ke penggunaan SQL.

Untuk sebuah proyek di Bank Tabungan, kami membuat implementasi pemuat basis data baru yang dapat digunakan kembali untuk GreenPlum. Hal ini dilakukan berdasarkan versi yang dihasilkan MDW untuk Teradata. Itu Teradata, dan bukan Oracle, yang paling mendekati dan terbaik untuk ini, karena... juga merupakan sistem MPP. Metode kerja, serta sintaksis Teradata dan GreenPlum ternyata serupa.

Contoh perbedaan penting PRTM antara RDBMS yang berbeda adalah sebagai berikut. Di GreenPlum, tidak seperti Teradata, saat membuat tabel, Anda perlu menulis klausa

distributed by

Teradata menulis:

delete <table> all

, dan di GreenPlum mereka menulis

delete from <table>

Di Oracle, untuk tujuan optimasi 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 mencatat bahwa agar Ab Initio dapat bekerja dengan GreenPlum, klien GreenPlum perlu diinstal di semua node cluster Ab Initio. Ini karena kami terhubung ke GreenPlum secara bersamaan dari semua node di cluster kami. Dan agar pembacaan dari GreenPlum menjadi paralel dan setiap thread Ab Initio paralel membaca bagian datanya sendiri dari GreenPlum, kami harus menempatkan konstruksi yang dipahami oleh Ab Initio di bagian "di mana" pada kueri SQL

where ABLOCAL()

dan tentukan nilai konstruksi ini dengan menentukan pembacaan parameter dari database transformasi

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

, yang dikompilasi menjadi sesuatu seperti

mod(sk,10)=3

, yaitu. Anda harus meminta GreenPlum dengan filter eksplisit untuk setiap partisi. Untuk database lain (Teradata, Oracle), Ab Initio dapat melakukan paralelisasi ini secara otomatis.

Perbandingan kinerja Ab Initio antara Hive dan GreenPlum

Bank Tabungan melakukan percobaan untuk membandingkan kinerja grafik yang dihasilkan MDW sehubungan dengan Hive dan sehubungan dengan GreenPlum. Sebagai bagian dari percobaan, dalam kasus Hive terdapat 5 node pada cluster yang sama dengan Ab Initio, dan dalam kasus GreenPlum terdapat 4 node pada cluster terpisah. Itu. Hive memiliki keunggulan perangkat keras dibandingkan GreenPlum.

Kami mempertimbangkan dua pasang grafik yang melakukan tugas yang sama dalam memperbarui data di Hive dan GreenPlum. Pada saat yang sama, grafik yang dihasilkan oleh konfigurator MDW diluncurkan:

  • pemuatan awal + pemuatan tambahan data yang dihasilkan secara acak ke dalam tabel Hive
  • pemuatan awal + pemuatan tambahan data yang dihasilkan secara acak ke dalam tabel GreenPlum yang sama

Dalam kedua kasus (Hive dan GreenPlum) mereka menjalankan unggahan ke 10 thread paralel pada cluster Ab Initio yang sama. Ab Initio menyimpan data perantara untuk penghitungan dalam HDFS (dalam istilah Ab Initio, tata letak MFS menggunakan HDFS digunakan). Satu baris data yang dihasilkan secara acak menempati 200 byte dalam kedua kasus.

Hasilnya seperti ini:

Sarang lebah:

Pemuatan awal di Hive

Baris disisipkan
6 000 000
60 000 000
600 000 000

Durasi inisialisasi
unduhan dalam hitungan detik
41
203
1 601

Pemuatan tambahan di Hive

Jumlah baris yang tersedia di
tabel target di awal percobaan
6 000 000
60 000 000
600 000 000

Jumlah garis delta yang diterapkan
tabel target selama percobaan
6 000 000
6 000 000
6 000 000

Durasi tambahan
unduhan dalam hitungan detik
88
299
2 541

Plum Hijau:

Pemuatan awal di GreenPlum

Baris disisipkan
6 000 000
60 000 000
600 000 000

Durasi inisialisasi
unduhan dalam hitungan detik
72
360
3 631

Pemuatan tambahan di GreenPlum

Jumlah baris yang tersedia di
tabel target di awal percobaan
6 000 000
60 000 000
600 000 000

Jumlah garis delta yang diterapkan
tabel target selama percobaan
6 000 000
6 000 000
6 000 000

Durasi tambahan
unduhan dalam hitungan detik
159
199
321

Kami melihat bahwa kecepatan pemuatan awal di Hive dan GreenPlum secara linier bergantung pada jumlah data dan, karena alasan perangkat keras yang lebih baik, ini sedikit lebih cepat untuk Hive daripada GreenPlum.

Pemuatan tambahan di Hive juga bergantung secara linier pada volume data yang dimuat sebelumnya yang tersedia di tabel target dan berlangsung cukup lambat seiring bertambahnya volume. Hal ini disebabkan oleh kebutuhan untuk menulis ulang tabel target secara lengkap. Ini berarti menerapkan perubahan kecil pada tabel besar bukanlah kasus penggunaan yang baik untuk Hive.

Pemuatan tambahan di GreenPlum sedikit bergantung pada volume data yang dimuat sebelumnya yang tersedia di tabel target dan berlangsung cukup cepat. Hal ini terjadi berkat SQL Joins dan arsitektur GreenPlum, yang memungkinkan operasi penghapusan.

Jadi, GreenPlum menambahkan delta menggunakan metode hapus+sisipkan, tetapi Hive tidak memiliki operasi penghapusan atau pembaruan, sehingga seluruh susunan data terpaksa ditulis ulang seluruhnya selama pembaruan bertahap. Perbandingan sel yang disorot dalam huruf tebal adalah yang paling terbuka, karena ini sesuai dengan opsi paling umum untuk menggunakan unduhan intensif sumber daya. Kami melihat bahwa GreenPlum mengalahkan Hive dalam tes ini sebanyak 8 kali.

Bekerja Ab Initio dengan GreenPlum dalam mode Near Real Time

Dalam percobaan ini, kami akan menguji kemampuan Ab Initio untuk memperbarui tabel GreenPlum dengan potongan data yang dihasilkan secara acak hampir secara real-time. Mari kita pertimbangkan tabel GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval, yang akan kita gunakan.

Kami akan menggunakan tiga grafik Ab Initio untuk mengerjakannya:

1) Graph Create_test_data.mp – membuat file data dalam HDFS dengan 10 baris dalam 6 thread paralel. Datanya acak, strukturnya diatur untuk dimasukkan ke dalam tabel kami

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

2) Grafik mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset – MDW menghasilkan grafik dengan menginisialisasi penyisipan data ke dalam tabel kami dalam 10 thread paralel (data uji yang dihasilkan oleh grafik (1) digunakan)

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

3) Grafik mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset – grafik yang dihasilkan oleh MDW untuk pembaruan bertahap tabel kami dalam 10 thread paralel menggunakan sebagian data yang baru diterima (delta) yang dihasilkan oleh grafik (1)

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum

Mari kita jalankan skrip di bawah ini dalam mode NRT:

  • menghasilkan 6 jalur uji
  • melakukan pemuatan awal, masukkan 6 baris pengujian ke dalam tabel kosong
  • ulangi pengunduhan tambahan sebanyak 5 kali
    • menghasilkan 6 jalur uji
    • melakukan penyisipan tambahan 6 baris pengujian ke dalam tabel (dalam hal ini, waktu kedaluwarsa valid_to_ts diatur ke data lama dan data yang lebih baru dengan kunci utama yang sama dimasukkan)

Skenario ini mengemulasikan mode operasi nyata dari sistem bisnis tertentu - sebagian besar data baru muncul secara real-time dan segera dituangkan ke dalam GreenPlum.

Sekarang mari kita lihat log skripnya:

Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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
Mulai 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 gambarnya begini:

Grafik
Waktu mulai
Waktu selesai
Panjang

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

mdw_load.hari_satu.saat ini.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11: 49: 37
04.06.2020 11: 50: 42
00:01:05

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

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

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

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

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

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

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

mdw_load.regular.saat ini.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12: 00: 23
04.06.2020 12: 03: 23
00:03:00

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

mdw_load.regular.saat ini.
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 6 baris tambahan diproses dalam 000 menit, yang mana ini cukup cepat.
Data pada tabel target ternyata terdistribusi sebagai 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;

Ketika Anda memiliki timbangan Sber. Menggunakan Ab Initio dengan Hive dan GreenPlum
Anda dapat melihat korespondensi data yang dimasukkan dengan waktu peluncuran grafik.
Ini berarti Anda dapat menjalankan pemuatan data tambahan ke GreenPlum di Ab Initio dengan frekuensi yang sangat tinggi dan mengamati kecepatan tinggi dalam memasukkan data ini ke GreenPlum. Tentu saja, peluncurannya tidak mungkin dilakukan sekali dalam satu detik, karena Ab Initio, seperti alat ETL lainnya, memerlukan waktu untuk β€œmemulai” saat diluncurkan.

Kesimpulan

Ab Initio saat ini digunakan di Bank Tabungan untuk membangun Unified Semantic Data Layer (ESS). Proyek ini melibatkan pembangunan versi terpadu keadaan berbagai badan usaha perbankan. Informasi berasal dari berbagai sumber, replikanya disiapkan di Hadoop. Berdasarkan kebutuhan bisnis, model data disiapkan dan transformasi data dijelaskan. Ab Initio memuat informasi ke dalam ESN dan data yang diunduh tidak hanya berguna bagi bisnis itu sendiri, namun juga berfungsi sebagai sumber untuk membangun data mart. Pada saat yang sama, fungsionalitas produk memungkinkan Anda menggunakan berbagai sistem sebagai penerima (Hive, Greenplum, Teradata, Oracle), sehingga memudahkan menyiapkan data untuk bisnis dalam berbagai format yang diperlukan.

Kemampuan Ab Initio sangat luas; misalnya, kerangka kerja PRTA yang disertakan memungkinkan pembuatan data teknis dan historis bisnis secara langsung. Bagi pengembang, Ab Initio memungkinkan untuk tidak menemukan kembali roda, namun menggunakan banyak komponen fungsional yang ada, yang pada dasarnya merupakan perpustakaan yang diperlukan saat bekerja dengan data.

Penulis adalah pakar dalam komunitas profesional Bank Tabungan SberProfi DWH/BigData. Komunitas profesional SberProfi DWH/BigData bertanggung jawab untuk mengembangkan kompetensi di berbagai bidang seperti ekosistem Hadoop, Teradata, Oracle DB, GreenPlum, serta alat BI Qlik, SAP BO, Tableau, dll.

Sumber: www.habr.com

Tambah komentar