عن المشروع
Apache Iceberg هو تنسيق جداول عالي الأداء مصمم للجداول التحليلية واسعة النطاق. وهو يتيح لمحركات معالجة متعددة — بما في ذلك Apache Spark وTrino وApache Flink وPresto وApache Hive وImpala — العمل بأمان وبالتزامن مع نفس الجداول.
يوفر المشروع مواصفات تنسيق مستقرة وتنفيذاً مرجعياً بلغة Java. وتنقسم مكتبة Java إلى عدة وحدات:
- واجهة برمجة التطبيقات الأساسية والتنفيذ: توفر `iceberg-api` و`iceberg-core` واجهة برمجة التطبيقات العامة والمنطق الأساسي، بما في ذلك دعم ملفات بيانات Avro.
- دعم تنسيقات الملفات: وحدات اختيارية لـ Parquet (`iceberg-parquet`) وORC (`iceberg-orc`) وArrow (`iceberg-arrow`).
- وحدات التكامل: تنفيذات محددة لـ Spark (`iceberg-spark`) وFlink (`iceberg-flink`) وHive (`iceberg-mr`)، بالإضافة إلى تنفيذ لـ Hive metastore (`iceberg-hive-metastore`).
- دعم التطبيقات: تتيح `iceberg-data` لتطبيقات JVM العمل مع الجداول مباشرة.
بالإضافة إلى تنفيذ Java، يتضمن نظام Iceberg البيئي تنفيذات بلغات Go وPython (PyIceberg) وRust وC++.