تاکسلی

اجتماع

آپاچی ارو

Apache Arrow

اجتماع جهانی آپاچی ارو، قالب ستونی مشترکی که امروز زیربنای تبادل دادهٔ سریع بین پایتون، راست، جاوا و ده‌ها زبان دیگر است.

پروانه
Apache-2.0

آپاچی ارو یک قالب حافظه‌ای ستونی است که یک مسئلهٔ قدیمی را حل می‌کند: وقتی داده از یک ابزار به ابزار دیگر می‌رود، معمولاً باید سریال و دوباره دی‌سریال شود. اگر پانداس داده‌ای را به اسپارک بدهد، همان جدول دو بار در حافظه ساخته می‌شود و وقت زیادی صرف تبدیل قالب می‌گردد.

ارو می‌گه همه از یک چیدمان حافظه استفاده کنیم. اون وقت انتقال داده بین زبان‌ها تقریباً رایگان است — چون کپی‌ای در کار نیست، فقط یک اشاره‌گر به همان بایت‌ها.

چرا مهمه

اگر با پایتون داده کار کرده باشید، احتمالاً بدون اینکه بدانید از ارو استفاده کرده‌اید. pyarrow موتور خواندن و نوشتن پارکت در پانداس است، Polars تماماً روی ارو ساخته شده، و DuckDB و ClickHouse و اسپارک همه از آن پشتیبانی می‌کنند.

مهم‌تر از خود قالب، اثری است که روی اکوسیستم گذاشته: تا پیش از آن، هر ابزار قالب داخلی خودش را داشت و پل زدن بین‌شان کار پرهزینه‌ای بود.

اجزای اصلی

قالب ستونی — مشخصات چیدمان داده در حافظه. این هستهٔ ماجراست و بقیه پیرامون آن ساخته شده‌اند.

Arrow Flight — پروتکل انتقال داده روی شبکه با gRPC، بدون هزینهٔ تبدیل قالب. نسخهٔ Flight SQL همین را برای پایگاه‌های داده استاندارد می‌کند.

ADBC — رابط استاندارد اتصال به پایگاه داده که به‌جای ردیف، ستون برمی‌گرداند. چیزی شبیه ODBC، ولی طراحی‌شده برای دنیای تحلیلی.

DataFusion — موتور اجرای پرس‌وجو با راست، که خودش حالا پروژهٔ سطح-بالای آپاچی است.

nanoarrow — پیاده‌سازی کمینه برای جاهایی که کتابخانهٔ کامل زیادی سنگین است.

پیاده‌سازی‌ها

ارو در بیش از ده زبان پیاده‌سازی شده: C++، پایتون، راست، جاوا، گو، جاوااسکریپت، جولیا، سی‌شارپ، روبی، R، متلب و سوییفت. برخی — مثل راست و گو — مخزن جداگانهٔ خودشان را دارند.

چطور مشارکت کنم

اجتماع ارو زیر چتر بنیاد نرم‌افزار آپاچی اداره می‌شود، یعنی همه‌چیز روی فهرست‌های پستی عمومی و گیت‌هاب انجام می‌شود و هیچ تصمیمی پشت درهای بسته گرفته نمی‌شود.

برای شروع، فهرست پستی dev@ را دنبال کنید و در زولیپ عضو شوید. اگر پرسش دربارهٔ استفاده دارید نه توسعه، user@ یا گفت‌وگوهای گیت‌هاب جای بهتری است.

هر دو هفته یک بار نشست آنلاین اجتماع برگزار می‌شود که شرکت برای همه آزاد است. یادداشت‌های هر نشست در یک سند گوگل (پیوند بیرونی، در تب تازه باز می‌شود) نگه داشته می‌شود و می‌توانید موضوع پیشنهادی‌تان را قبل از جلسه به آن اضافه کنید. نشست‌های تخصصی‌تری هم برای PyArrow، بستهٔ R و پیاده‌سازی راست وجود دارد.

هنگام ارسال موردی به فهرست پستی، عنوان را با برچسب موضوع شروع کنید — مثل [Python] یا [Rust] یا [Format] — تا افراد مرتبط پیام را ببینند.

رویدادهای پیش‌روی این اجتماع در تقویم تاکسلی فهرست می‌شوند.

رویدادها

آنلاین

نشست دوهفتگی اجتماع آپاچی ارو

نشست آنلاین و آزاد اجتماع آپاچی ارو، هر دو هفته یک بار. گفت‌وگو دربارهٔ توسعهٔ پروژه، انتشار نسخه‌ها و موضوع‌هایی که خود شرکت‌کنندگان پیشنهاد می‌دهند.

  • مکان آنلاین
  • هزینه رایگان و بدون نام‌نویسی
  • زبان انگلیسی

مطالب مرتبط

هنوز مطلبی به این صفحه وصل نشده. با خوراک این صفحه دنبالش کنید تا اولین مطلب برسد.

برای شروع، چند حرف بنویسید.

نوشتار فارسی و عربی یکسان در نظر گرفته می‌شود؛ نیم‌فاصله و اِعراب هم نادیده گرفته می‌شوند.