در چشمانداز در حال تحول دادههای بزرگ، معماری دریاچه دادهخانه (Data Lakehouse) به عنوان استاندارد طلایی برای تحلیلهای مقیاسپذیر، کارآمد و باز ظهور کرده است. در قلب این انقلاب، آپاچی آیسبرگ قرار دارد که یک فرمت جدول با عملکرد بالا برای مجموعههای داده تحلیلی بزرگ است. اگرچه آیسبرگ خود یک کتابخانه جاوا است، اما تعامل با آن معمولاً نیاز به راهاندازی یک محیط زمان اجرا دارد—چه از طریق یک خط فرمان (CLI) مستقل، چه از طریق کانتینرهای داکر، یا یکپارچهسازی با موتورهایی مانند اسپارک یا ترینو. این راهنما شما را از طریق مراحل عملی نصب و تأیید آپاچی آیسبرگ در یک محیط توسعه محلی با استفاده از لینوکس و داکر هدایت خواهد کرد.
پیشنیازها: درک محیط
قبل از شروع نصب، درک این نکته حیاتی است که آپاچی آیسبرگ یک سرویس مستقل نیست که بتوانید آن را مانند یک پایگاه داده به سادگی «نصب» کنید. این یک مشخصات فرمت جدول است. بنابراین، برای استفاده از آن، به یک موتور زمان اجرا که از فرمت آیسبرگ پشتیبانی میکند، نیاز دارید. رایجترین نقاط ورود برای توسعهدهندگان عبارتند از:
- آپاچی اسپارک (Apache Spark): محبوبترین موتور برای نوشتن و خواندن جداول آیسبرگ.
- ترینو (Trino - پیشتر PrestoSQL): ایدهآل برای پرسوجوهای SQL تعاملی.
- آپاچی هایو (Apache Hive): برای سازگاری با سیستمهای قدیمی.
در این راهنما، ما بر روی خط فرمان آیسبرگ (Iceberg CLI) و یک نصب اسپارک مبتنی بر داکر تمرکز خواهیم کرد، زیرا این روشها سریعترین مسیر برای شروع کار بدون مدیریت یک خوشه کامل هادوپ را فراهم میکنند.
روش ۱: نصب خط فرمان آیسبرگ از طریق Homebrew
خط فرمان آیسبرگ ابزاری قدرتمند برای مدیریت متادیتای کاتالوگ، بررسی جداول و انجام عملیات پایه است. اگر از مکاواس یا لینوکس با Homebrew نصب شده استفاده میکنید، این سریعترین روش است.
ابتدا مطمئن شوید که Homebrew نصب شده است. سپس، دستورات زیر را برای نصب آخرین نسخه آیسبرگ اجرا کنید:
# بهروزرسانی لیست بستهها
brew update
# نصب خط فرمان آپاچی آیسبرگ
brew install apache-iceberg
پس از نصب، میتوانید با بررسی نسخه، نصب را تأیید کنید:
iceberg --version
این دستور باید شماره نسخه فعلی را بازگرداند که تأیید میکند خط فرمان در مسیر سیستم شما در دسترس است. اکنون میتوانید یک کاتالوگ هادوپ محلی را با تنظیم فایلهای پیکربندی مناسب در دایرکتوری خانگی یا دایرکتوری کاری فعلی خود راهاندازی کنید.
روش ۲: اجرای آیسبرگ با داکر و اسپارک
برای یک محیط آزمایشی قویتر، یا اگر از سیستمی بدون Homebrew استفاده میکنید، داکر راهی ایزوله و قابل تکرار برای اجرای آیسبرگ ارائه میدهد. تصاویر رسمی داکر آپاچی آیسبرگ شامل نمونههای اسپارک از پیش پیکربندی شده با وابستگیهای آیسبرگ هستند.
ابتدا تصویر رسمی آیسبرگ را دریافت کنید. میتوانید یک نسخه خاص از اسپارک را انتخاب کنید؛ در اینجا ما از اسپارک ۳.۳ استفاده میکنیم:
docker pull apache/iceberg:spark-3.3
پس از دانلود تصویر، میتوانید یک کانتینر اسپارک را راهاندازی کنید که به سیستم فایل هادوپ محلی یا ذخیرهسازی سازگار با S3 متصل شود. در زیر یک دستور مثال برای اجرای پوسته اسپارک با آیسبرگ فعال آورده شده است:
docker run -it \
--name iceberg-spark \
-v ${PWD}:/home/iceberg/data \
-e AWS_REGION=us-east-1 \
-e AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY \
-e AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY \
apache/iceberg:spark-3.3 \
spark-sql \
--conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog \
--conf spark.sql.catalog.spark_catalog.catalog-impl=org.apache.iceberg.hive.HiveCatalog
توجه: در یک سناریوی واقعی، شما معمولاً دایرکتوری دادههای محلی خود را به کانتینر متصل کرده و کاتالوگ را طوری پیکربندی میکنید که به یک مخزن متادیتا مانند Hive Metastore یا یک سیستم فایل هادوپ ساده اشاره کند.
تأیید نصب
پس از نصب، تأیید کلیدی است. اگر از خط فرمان استفاده کردهاید، سعی کنید یک فضای نام ساده ایجاد کنید:
iceberg catalog create --uri file:///tmp/hive_catalog
اگر از اسپارک استفاده میکنید، یک دستور SQL ساده را در داخل پوسته اسپارک اجرا کنید:
CREATE NAMESPACE my_database;
SHOW NAMESPACES;
اگر فضای نام خود را در لیست مشاهده کردید، نصب آیسبرگ شما موفقیتآمیز بوده و آماده استفاده است.
نتیجهگیری
نصب آپاچی آیسبرگ بیشتر مربوط به پیکربندی محیط زمان راتر است که از آن پشتیبانی میکند تا دانلود یک باینری. با بهرهگیری از خط فرمان Homebrew برای آزمایشهای محلی سریع یا داکر برای توسعه کانتینری، توسعهدهندگان میتوانند به راحتی آیسبرگ را در جریانهای کاری مهندسی داده خود یکپارچه کنند. چه در حال ساخت یک دریاچه دادهخانه مدرن روی AWS، GCP یا Azure باشید، تسلط بر نصب و پیکربندی آیسبرگ اولین گام حیاتی برای باز کردن قابلیتهای تحلیل داده مقیاسپذیر و مطابقتیافته با ACID است.