Ringkasan performa pipeline

Menyesuaikan pemrosesan pipeline di Cloud Data Fusion memungkinkan Anda mengoptimalkan kecepatan eksekusi dan mencegah bottleneck runtime. Memahami konsep ini akan membantu Anda menentukan ukuran infrastruktur secara efektif dan mengurangi biaya komputasi di seluruh alur kerja data.

Performa pipeline bergantung pada aspek berikut:

  • Ukuran dan karakteristik data Anda
  • Struktur pipeline Anda
  • Penentuan ukuran cluster
  • Plugin yang digunakan pipeline Cloud Data Fusion Anda

Terminologi pemrosesan pipeline di Cloud Data Fusion

Terminologi berikut berlaku dalam pemrosesan pipeline di Cloud Data Fusion.

Jenis mesin
Jenis virtual machine (VM) yang digunakan (CPU, memori).
Cluster
Grup VM yang bekerja sama untuk menangani tugas pemrosesan data skala besar.
Node master dan worker
Mesin fisik atau virtual yang dapat melakukan pemrosesan. Node master biasanya mengoordinasikan pekerjaan. Worker node menjalankan eksekutor yang memproses data. Node ini memiliki karakteristik mesin (jumlah memori dan jumlah vCore yang tersedia untuk proses).
vCore, Core, atau CPU
Resource yang melakukan komputasi. Biasanya, node Anda menyediakan sejumlah Core dan Eksekutor Anda meminta satu atau beberapa CPU. Seimbangkan hal ini dengan memori, atau Anda mungkin kurang memanfaatkan cluster.
Driver
Satu VM yang bertindak sebagai koordinator pusat untuk seluruh cluster. VM ini mengelola tugas, menjadwalkan pekerjaan di seluruh worker node, dan memantau progres tugas.
Eksekutor
Beberapa VM yang melakukan tugas pemrosesan data sebenarnya, seperti yang diinstruksikan oleh driver. Data Anda dipartisi dan didistribusikan di seluruh eksekutor ini untuk pemrosesan paralel. Untuk menggunakan semua eksekutor, Anda harus memiliki cukup pemisahan.
Pemisahan atau partisi
Set data dipisahkan menjadi pemisahan (partisi nama lain) untuk memproses data secara paralel. Jika tidak memiliki cukup pemisahan, Anda tidak dapat menggunakan seluruh cluster.

Ringkasan penyesuaian performa

Pipeline dijalankan pada cluster mesin. Jika Anda memilih untuk menjalankan pipeline Cloud Data Fusion di cluster Managed Service untuk Apache Spark (yang merupakan penyedia yang direkomendasikan), pipeline tersebut akan menggunakan YARN (Yet Another Resource Negotiator) di balik layar. Managed Service untuk Apache Spark menggunakan YARN untuk pengelolaan resource dalam cluster. Saat Anda mengirimkan pipeline Cloud Data Fusion ke cluster Managed Service untuk Apache Spark, tugas Apache Spark yang mendasarinya akan memanfaatkan YARN untuk alokasi resource dan penjadwalan tugas.

Cluster terdiri dari node master dan worker. Node master umumnya bertanggung jawab untuk mengoordinasikan pekerjaan, sedangkan node worker melakukan pekerjaan sebenarnya. Cluster biasanya memiliki sejumlah kecil node master (satu atau tiga) dan sejumlah besar worker. YARN digunakan sebagai sistem koordinasi pekerjaan. YARN menjalankan layanan Resource Manager di node master dan layanan Node Manager di setiap node worker. Resource Manager berkoordinasi di antara semua Node Manager untuk menentukan tempat membuat dan menjalankan container di cluster.

YARN Resource Manager dan Node Manager

Di setiap node worker, Node Manager mencadangkan sebagian memori mesin dan CPU yang tersedia untuk menjalankan container YARN. Misalnya, di cluster Managed Service untuk Apache Spark, jika node worker Anda adalah VM n1-standard-4 (4 CPU, memori 15 GB), setiap Node Manager akan mencadangkan 4 CPU dan memori 12 GB untuk menjalankan container YARN. Sisa memori 3 GB dibiarkan untuk layanan Hadoop lainnya yang berjalan di node.

Saat pipeline dijalankan di YARN, pipeline tersebut akan meluncurkan driver alur kerja pipeline, driver Spark, dan banyak eksekutor Spark di Managed Service untuk Apache Spark.

Driver dan Executor

Driver alur kerja bertanggung jawab untuk meluncurkan satu atau beberapa program Spark yang membentuk pipeline. Driver alur kerja biasanya tidak melakukan banyak pekerjaan. Setiap program Spark menjalankan satu driver Spark dan beberapa eksekutor Spark. Driver mengoordinasikan pekerjaan di antara eksekutor, tetapi biasanya tidak melakukan pekerjaan sebenarnya. Sebagian besar pekerjaan sebenarnya dilakukan oleh eksekutor Spark.

Langkah berikutnya