شعار زيفيرنت

دليل الهجرة من Databricks Delta Lake إلى Apache Iceberg

التاريخ:

المُقدّمة

في عالم كبير سريع التغير معالجة المعلومات والتحليلات، تعد الإدارة المحتملة لمجموعات البيانات الشاملة بمثابة ركيزة أساسية للشركات لاتخاذ قرارات مستنيرة. يساعدهم على استخلاص رؤى مفيدة من بياناتهم. ظهرت مجموعة متنوعة من الحلول في السنوات القليلة الماضية، مثل Databricks Delta Lake وApache Iceberg. تم تطوير هذه الأنظمة الأساسية لإدارة مستودعات البيانات وتوفر كلاهما ميزات ووظائف قوية. ولكن بالنسبة للمؤسسات، من الضروري فهم الفروق الدقيقة من حيث البنية والجوانب الفنية والوظيفية لترحيل النظام الأساسي الحالي. سوف تستكشف هذه المقالة العملية المعقدة للانتقال من Databricks Delta Lake إلى Apache Iceberg.

أهداف التعلم

  • فهم ميزات Databricks وApache Iceberg.
  • تعلم كيفية مقارنة المكونات المعمارية بين Databricks وApache Iceberg.
  • افهم أفضل الممارسات لترحيل بنية بحيرة الدلتا إلى منصة مفتوحة المصدر مثل Iceberg.
  • لاستخدام أدوات الطرف الثالث الأخرى كبديل لمنصة Delta Lake.

تم نشر هذه المقالة كجزء من مدونة علوم البيانات.

جدول المحتويات

فهم طوب البيانات دلتا ليك

Databricks Delta Lake هي في الأساس طبقة تخزين متطورة مبنية على الجزء العلوي أباتشي سبارك نطاق. وهو يوفر بعض وظائف البيانات الحديثة التي تم تطويرها لإدارة البيانات بسلاسة. تتميز بحيرة دلتا بالعديد من الميزات في جوهرها:

  • معاملات حامض: تضمن Delta Lake المبادئ الأساسية للذرية والاتساق والعزل والمتانة لجميع التعديلات في بيانات المستخدم، وبالتالي ضمان عمليات بيانات قوية وصالحة.
  • تطور المخطط: المرونة تأتي في الغالب مع دلتا ليك، لأنه يدعم تطور المخطط بسلاسة وبالتالي تمكين الصناعات من تنفيذ تغييرات المخطط دون إزعاج خطوط أنابيب البيانات الموجودة في الإنتاج.
  • السفر عبر الزمن: تمامًا مثل السفر عبر الزمن في أفلام الخيال العلمي، توفر بحيرة الدلتا القدرة على الاستعلام عن لقطات البيانات في نقاط زمنية معينة. وبالتالي فهو يوفر للمستخدمين الغوص العميق في التحليل التاريخي الشامل للبيانات وإمكانيات الإصدار.
  • إدارة الملفات الأمثل: تدعم Delta Lake تقنيات قوية لتنظيم وإدارة ملفات البيانات والبيانات التعريفية. يؤدي إلى تحسين أداء الاستعلام وتخفيف تكاليف التخزين.

مميزات أباتشي فيض

يوفر Apache Iceberg بديلاً تنافسيًا للشركات التي تبحث عن حل محسّن لإدارة مستودعات البيانات. تتفوق Icebergs على بعض التنسيقات التقليدية مثل Parquet أو ORC. هناك الكثير من المزايا المميزة:

  • تطور المخطط: يمكن للمستخدم الاستفادة من ميزة تطور المخطط أثناء إجراء تغييرات المخطط دون إعادة كتابة الجدول المكلفة.
  • لقطة العزلة: يوفر Iceberg دعمًا لعزل اللقطات، وبالتالي يضمن عمليات قراءة وكتابة متسقة. فهو يسهل التعديلات المتزامنة في الجداول دون المساس بسلامة البيانات.
  • إدارة البيانات الوصفية: تقوم هذه الميزة بشكل أساسي بفصل البيانات التعريفية عن ملفات البيانات. وقم بتخزينه في مستودع مخصص يختلف عن ملفات البيانات نفسها. وهو يفعل ذلك لتعزيز الأداء وتمكين عمليات البيانات التعريفية الفعالة.
  • تشذيب التقسيم: من خلال الاستفادة من تقنيات التنقيح المتقدمة، تعمل على تحسين أداء الاستعلام عن طريق تقليل البيانات التي تم فحصها أثناء تنفيذ الاستعلام.

التحليل المقارن للهندسة المعمارية

دعونا نتعمق في التحليل المقارن للبنى:

طوب البيانات هندسة دلتا ليك

  • طبقة التخزين: تستفيد شركة Delta Lake من التخزين السحابي على سبيل المثال Amazon S3، أزور بلب كطبقة تخزين أساسية، والتي تتكون من ملفات البيانات وسجلات المعاملات.
  • إدارة البيانات الوصفية: تبقى البيانات الوصفية ضمن سجل المعاملات. وبالتالي فهو يؤدي إلى عمليات بيانات وصفية فعالة ويضمن اتساق البيانات.
  • تقنيات التحسين: تستخدم بحيرة دلتا طنًا من تقنيات التحسين. يتضمن تخطي البيانات والترتيب Z لتحسين أداء الاستعلام بشكل جذري وتقليل الحمل أثناء مسح البيانات.
طوب البيانات هندسة دلتا ليك

أباتشي فيض العمارة

  • فصل البيانات الوصفية: هناك فرق مع المقارنة مع Databricks من حيث فصل البيانات الوصفية عن ملفات البيانات. يقوم الجبل الجليدي بتخزين البيانات الوصفية في مستودع منفصل عن ملفات البيانات.
  • دعم المعاملات: لضمان سلامة البيانات وموثوقيتها، تفتخر Iceberg ببروتوكول معاملات قوي. يضمن هذا البروتوكول عمليات الجدول الذرية والمتسقة.
  • التوافق: تتوافق المحركات مثل Apache Spark وFlink وPresto بسهولة مع Iceberg. يتمتع المطورون بالمرونة اللازمة لاستخدام Iceberg مع أطر المعالجة في الوقت الفعلي والمعالجة المجمعة.
أباتشي فيض العمارة

التنقل في مشهد الهجرة: الاعتبارات وأفضل الممارسات

إنه يحتاج إلى قدر هائل من التخطيط والتنفيذ لتنفيذ الترحيل من Databricks Delta Lake إلى Apache Iceberg. وينبغي مراعاة بعض الاعتبارات وهي:

  • تطور المخطط: ضمان التوافق الخالي من العيوب بين ميزة تطور المخطط في Delta Lake وIceberg للحفاظ على الاتساق أثناء تغييرات المخطط.
  • ترحيل البيانات: يجب تطوير الاستراتيجيات وتنفيذها مع عوامل مثل حجم البيانات، ومتطلبات التوقف، واتساق البيانات.
  • توافق الاستعلام: ينبغي للمرء التحقق من توافق الاستعلام بين Delta Lake وIceberg. سيؤدي ذلك إلى الانتقال السلس وستكون وظيفة الاستعلام الحالية سليمة أيضًا بعد الترحيل.
  • الأداء الاختبار: بدء اختبارات الأداء والانحدار واسعة النطاق للتحقق من أداء الاستعلام. وينبغي أيضًا التحقق من استخدام الموارد بين جبل الجليد وبحيرة دلتا. وبهذه الطريقة، يمكن التعرف على المجالات المحتملة لتحسينها.

بالنسبة لمطوري الترحيل، يمكنهم استخدام بعض الهياكل الأساسية للتعليمات البرمجية المحددة مسبقًا من وثائق Iceberg وdatabricks وتنفيذها. الخطوات مذكورة أدناه واللغة المستخدمة هنا هي Scala:

الخطوة 1: إنشاء جدول بحيرة دلتا

في الخطوة الأولى، تأكد من أن حاوية S3 فارغة وتم التحقق منها قبل متابعة إنشاء البيانات بداخلها. بمجرد اكتمال عملية إنشاء البيانات، قم بإجراء الفحص التالي:

الخطوة 1: إنشاء جدول بحيرة دلتا
val data=spark.range(0,5)
data.write.format("delta").save("s3://testing_bucket/delta-table")

spark.read.format("delta").load("s3://testing_bucket/delta-table")
إنشاء جدول بحيرة دلتا
إنشاء جدول بحيرة دلتا

إضافة رمز فراغ اختياري

#adding optional code for vaccum later
val data=spark.range(5,10)
data.write.format("delta").mode("overwrite").save("s3://testing_bucket/delta-table")

الخطوة 2: CTAS وقراءة جدول بحيرة الدلتا

#reading delta lake table
spark.read.format("delta").load("s3://testing_bucket/delta-table")

الخطوة 3: قراءة بحيرة دلتا والكتابة على جدول جبل الجليد

val df_delta=spark.read.format("delta").load("s3://testing_bucket/delta-table")
df_delta.writeTo("test.db.iceberg_ctas").create()
spark.read.format("iceberg").load("test.db.iceberg.ctas)

تحقق من البيانات الملقاة في جداول جبل الجليد ضمن S3

قراءة بحيرة دلتا والكتابة على جدول جبل الجليد
قراءة بحيرة دلتا والكتابة على جدول جبل الجليد

مقارنة أدوات الطرف الثالث من حيث البساطة والأداء والتوافق والدعم. الأداتين أي. يأتي AWS Glue DataBrew وSnowflake مع مجموعة الوظائف الخاصة بهما.

AWS Glue Data Brew

عملية الهجرة:

  • سهولة الاستعمال: AWS Glue DataBrew هو منتج ضمن سحابة AWS ويوفر تجربة سهلة الاستخدام لمهام تنظيف البيانات وتحويلها.
  • الاندماج : يمكن دمج Glue DataBrew بسلاسة مع خدمات Amazon السحابية الأخرى. بالنسبة للمؤسسات التي تعمل مع AWS، يمكنها الاستفادة من هذه الخدمة.

مجموعة الميزات:

  • تحويل البيانات: يأتي مع مجموعة كبيرة من الميزات لتحويل البيانات (EDA). يمكن أن يكون مفيدًا أثناء ترحيل البيانات.
  • التنميط التلقائي: مثل الأدوات الأخرى مفتوحة المصدر، يقوم DataBrew بملف تعريف البيانات تلقائيًا. لاكتشاف أي تناقض والتوصية أيضًا بمهام التحويلات.

الأداء والتوافق:

  • التدرجية: لمعالجة مجموعات البيانات الكبيرة التي يمكن مواجهتها أثناء عملية الترحيل، يوفر Glue DataBrew قابلية التوسع للتعامل مع ذلك أيضًا.
  • التوافق: يوفر التوافق مع مجموعة واسعة من التنسيقات ومصادر البيانات، وبالتالي يسهل التكامل مع حلول التخزين المختلفة.

ندفة الثلج

عملية الهجرة:

  • سهولة الهجرة: من أجل التبسيط، لدى Snowflake خدمات ترحيل تساعد المستخدمين النهائيين على الانتقال من مستودعات البيانات الموجودة إلى منصة Snowflake.
  • التوثيق الشامل: يوفر Snowflake وثائق هائلة وكمية كبيرة من الموارد لبدء عملية الترحيل.

مجموعة الميزات:

  • قدرات تخزين البيانات: يوفر مجموعة واسعة من ميزات التخزين، ويدعم البيانات شبه المنظمة، ومشاركة البيانات، وإدارة البيانات.
  • التوافق: تسمح البنية بالتزامن العالي وهو مناسب للمؤسسات ذات متطلبات معالجة البيانات الصعبة.

الأداء والتوافق:

  • الأداء: تتميز Snowflake أيضًا بكفاءة الأداء من حيث قابلية التوسع مما يمكّن المستخدمين النهائيين من معالجة كميات ضخمة من البيانات بسهولة.
  • التوافق: يوفر Snowflake أيضًا موصلات متنوعة لمصادر بيانات مختلفة، وبالتالي يضمن التوافق المتبادل مع الأنظمة البيئية المتنوعة للبيانات.
"

وفي الختام

لتحسين سير عمل إدارة مستودعات البيانات والمستودعات واستخلاص نتائج الأعمال، يعد التحول أمرًا حيويًا للمؤسسات. يمكن للصناعات الاستفادة من كل من المنصات من حيث القدرات والفوارق المعمارية والتقنية وتحديد أي منها تختار للاستفادة القصوى من إمكانات مجموعات البيانات الخاصة بها. إنه يساعد المنظمات على المدى الطويل أيضًا. مع مشهد البيانات المتغير ديناميكيًا وسريعًا، يمكن للحلول المبتكرة أن تبقي المؤسسات في حالة تأهب.

الوجبات السريعة الرئيسية

  • يوفر Apache Iceberg ميزات رائعة مثل عزل اللقطات وإدارة البيانات الوصفية بكفاءة وتقليم الأقسام وبالتالي يؤدي إلى تحسين قدرات إدارة مستودع البيانات.
  • يتعامل الترحيل إلى Apache Iceberg مع التخطيط والتنفيذ الحذرين. يجب على المؤسسات أن تأخذ في الاعتبار عوامل مثل تطور المخطط، واستراتيجيات ترحيل البيانات، وتوافق الاستعلام.
  • تستفيد Databricks Delta Lake من التخزين السحابي كطبقة تخزين أساسية، حيث تقوم بتخزين ملفات البيانات وسجلات المعاملات، بينما تقوم Iceberg بفصل البيانات التعريفية عن ملفات البيانات، مما يعزز الأداء وقابلية التوسع.
  • يجب على المؤسسات أيضًا مراعاة الآثار المالية مثل تكاليف التخزين ورسوم الحوسبة ورسوم الترخيص وأي موارد مخصصة مطلوبة للترحيل.

الأسئلة المتكررة

س1. كيف تتم عملية الترحيل من Databricks Delta Lake إلى Apache Iceberg؟

ج. يتضمن ذلك تصدير البيانات من Databricks Delta Lake، وتنظيفها إذا لزم الأمر، ثم استيرادها إلى جداول Apache Iceberg.

س2. هل هناك أي أدوات آلية متاحة للمساعدة في الترحيل دون تدخل يدوي؟

ج: تستفيد المؤسسات عمومًا من نصوص python/Scala وأدوات ETL المخصصة لإنشاء سير العمل هذا.

س3. ما هي التحديات المشتركة التي تواجهها المنظمات أثناء عملية الهجرة؟

ج: بعض التحديات التي من المحتمل حدوثها هي – اتساق البيانات، والتعامل مع اختلافات تطور المخطط، وتحسين الأداء بعد الترحيل.

س 4. ما الفرق بين Apache Iceberg وتنسيقات الجداول الأخرى مثل Parquet أو ORC؟

ج. يوفر Apache Iceberg ميزات مثل تطور المخطط وعزل اللقطات وإدارة بيانات التعريف الفعالة التي تختلف عن Parquet وORC.

س5. هل يمكننا استخدام Apache Iceberg مع حلول التخزين السحابية؟

ج. بالتأكيد، يتوافق Apache Iceberg مع حلول التخزين المستندة إلى السحابة شائعة الاستخدام مثل AWS S3 وAzure Blob Storage وGoogle Cloud Storage.

الوسائط الموضحة في هذه المقالة ليست مملوكة لـ Analytics Vidhya ويتم استخدامها وفقًا لتقدير المؤلف.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة