Apache SAMOA یا همان ابزار مقیاس‌پذیر و پیشرفته برای تجزیه و تحلیل عظیم داده‌های (big data) آنلاین، یک پلتفرم مناسب برای استخراج جریان داده‌های عظیم است.

این ابزار مجموعه‌ای از الگوریتم‌های توزیع شده جریانی برای رایج‌ترین فعالیت‌های داده‌کاوی و یادگیری ماشین مانند طبقه‌بندی، خوشه‌بندی و رگرسیون و همچنین برنامه‌نویسی را برای توسعه الگوریتم‌های جدید فراهم می‌کند که بر روی موتورهای پردازش جریان توزیع شده (DSPEs) کار می‌کنند. این معماری دارای یک افزونه است که به آن امکان اجرا بر روی چندین DSPE مانند Apache Storm ، Apache S4 ، Apache Samza و Apache Flink را می دهد. SAMOA در اصل شبیه به Mahout عمل می کند، اما به صورت خاص برای جریان کاوی طراحی شده است.

Apache SAMOA ساده و سرگرم کننده است! به عنوان یک کاربر می‌توانید الگوریتم‌های SAMOA را در چندین موتور پردازش جریانی اجرا کنید: بصورت مجزا و مستقل یا همراه با ابزارهایی مانند Storm ، S4 ، Samza و Flink. به عنوان یک توسعه دهنده می‌توانید فقط یک بار الگوریتم‌های جدیدی ایجاد کنید و آنها را در تمام این موتورهای پردازش جریانی توزیع کنید.

به دلیل دلایل زیر، SAMOA به عنوان ابزار منبع باز عظیم داده در صنعت از اهمیت بالایی برخوردار است:

  • می‌توانید یک بار برنامه را بنویسید و آن را در همه جا اجرا کنید
  • زیرساخت‌های موجود آن قابل استفاده مجدد است. از این رو می‌توانید از به کارگیری چرخه‌ها خودداری کنید.
  • بدون توقف سیستم می‌تواند وظایف خود را انجام دهد
  • به فرایندهای پشتیبان‌گیری و ارتقاء پیچیده نیازی ندارد

در شکل زیر می‌توان ارتباط میان ساموا و دیگر ابزارهای جریان توزیعی را مشاهده نمود:

 

SAMOA شامل یک رابط برنامه‌نویسی برای یک الگوریتم جریان توزیع شده است که امکان توسعه الگوریتم‌های جدید یادگیری ماشین را بدون پیچیده ساختن زیرساخت پردازش جریان اصلی (SPE) فراهم می‌کند. علاوه بر این، SAMOA امکان گسترش را برای ادغام SPEهای جدید در سیستم فراهم می‌کند.

این ویژگی‌ها به کاربران SAMOA اجازه می‌دهد الگوریتم‌های جریانی یک بار توزیع شده یادگیری ماشین را توسعه داده و الگوریتم را در چندین SPE اجرا کنند. کازبران SAMOA به سه دسته تقسیم می شوند:

  • کاربران بسترهای نرم‌افزاری که نیاز به استفاده از یادگیری ماشین دارند اما نمی‌خواهند الگوریتم را پیاده‌سازی کنند.
  • توسعه دهندگان یادگیری ماشین که الگوریتم‌های جدید ML را روی SAMOA ایجاد می‌کنند و برای این کار از الگوریتم قبلاً توسعه یافته در SAMOA استفاده می‌کنند.
  • توسعه دهندگان بسترهای نرم‌افزاری که SAMOA را گسترش می‌دهند تا SPE بیشتری را در SAMOA ادغام کنند.