প্রকল্প সম্পর্কে
Apache Iceberg হলো বড় আকারের অ্যানালিটিক টেবিলের জন্য ডিজাইন করা একটি উচ্চ-ক্ষমতাসম্পন্ন টেবিল ফরম্যাট। এটি Apache Spark, Trino, Apache Flink, Presto, Apache Hive এবং Impala-সহ একাধিক প্রসেসিং ইঞ্জিনকে একই টেবিলের সাথে নিরাপদে এবং একসাথে কাজ করার সুযোগ করে দেয়।
এই প্রজেক্টটি একটি স্থিতিশীল ফরম্যাট স্পেসিফিকেশন এবং জাভাতে (Java) একটি রেফারেন্স ইমপ্লিমেন্টেশন প্রদান করে। জাভা লাইব্রেরিটি বেশ কয়েকটি মডিউলে বিভক্ত:
- কোর API এবং ইমপ্লিমেন্টেশন: `iceberg-api` এবং `iceberg-core` পাবলিক API এবং কোর লজিক প্রদান করে, যার মধ্যে 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 অ্যাপ্লিকেশনগুলোকে সরাসরি টেবিলের সাথে কাজ করতে দেয়।
জাভা ইমপ্লিমেন্টেশনের বাইরে, Iceberg ইকোসিস্টেমে Go, Python (PyIceberg), Rust এবং C++-এ ইমপ্লিমেন্টেশন অন্তর্ভুক্ত রয়েছে।