تاریخچه:

 

اسپارک یک موتور پردازش داده است که اولین بار در سال 2009 به عنوان یک پروژه در آزمایشگاه ای ام پی دانشگاه کالیفرنیا، برکلی طراحی شد. سپس در سال 2013 به یک پروژه انحصاری از بنیاد نرم‌افزاری آپاچی تبدیل شده و در اوایل سال 2014 میلادی به یکی از پروژه‌های برتر بنیاد ارتقا یافت.

 

ویژگی‌ها:

 

برخی ویژگی‌های منحصر بفرد اسپارک موجب شده است که این برنامه نسبت به برخی دیگر از گزینه­‌های مشابه هدوپ برای پردازش داده‌ها مانند برنامه نگاشت-کاهش بهتر عمل کند. در واقع می‌توان گفت که اسپارک از همان ابتدا به گونه‌ای طراحی و بهینه شده بود که عملیات پردازش را در حافظه انجام دهد و این مزیت نسبت به برنامه نگاشت – کاهش که داده‌ها را بر روی دیسک نوشته و از روی دیسک نیز برای پردازش فراخوانی می‌کند موجب سرعت فوق­‌العاده بالاتری شده است. طرفداران اسپارک معتقدند که سرعت پردازش اسپارک 10 تا 100 برابر از نگاشت – کاهش بالاتر است.

 

اسپارک قادر است چندین پتابایت داده را که بر روی خوشه‌هایی از هزاران سرور فیزیکی یا مجازی توزیع شده‌اند پردازش نماید. چندین زبان برنامه‌نویسی مانند جاوا، پایتون، آر و اسکالا را پشتیبانی نموده و علاوه بر بستر ذخیره­سازی داده‌های هدوپ (HDFS) قادر است با سایر منابع ذخیره‌سازی مانند HBase، کاساندرا، مونگو و S3 آمازون نیز کار کند.

 

 

موارد کاربرد:

 

·       پردازش داده‌های در جریان:

امروزه با داده‌هایی مواجه هستیم که مدام در حال تولید و تغییر هستند. اگرچه می­توان این داده‌ها را ذخیره نموده و بعد پردازش کنیم اما گاهی اوقات مانند داده‌های مالی و داده‌های حاصل از حسگرهای دستگاه‌ها را میبایست به‌هنگام پردازش نمود تا بتوان به موقع به ارزش موجود در آن­ها دست یافت. اسپارک این قابلیت را به خوبی ایفا می‌کند.

 

·       یادگیری ماشین:

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

 

·       تجزیه و تحلیل تعاملی داده‌های در جریان:

سیستمی مانند اسپارک با ویژگی پاسخ سریع به تغییرات آن را قادر ساخته که بجای یک سری داده‌ها و جستارهای ثابت و تکراری که نمودارهای مربوطه را بر روی داشبورد­ها نمایش می دهد بتوان تغییراتی به دلخواه در این جستارها اعمال کرده و پاسخ این تغییرات را به سرعت بر روی داشبورد مشاهده کرد.

 

·       یکپارچه‌سازی داده‌ها:

داده‌های کسب‌وکار معمولا از منابع مختلف و با انواع گوناگون تولید می­شوند و نیازمند پاکسازی برای استفاده مناسب هستند. در واقع اسپارک با ویژگی‌های فوق‌العاده خود هزینه عملیات استخراج، تبدیل و بارگذاری و استفاده از این داده‌ها را کاهش داده و سرعت این عملیات را نیز افزایش داده است.

 

چرا از اسپارک استفاده می‌کنیم؟

 

دلایل زیادی برای استفاده و ترجیح اسپارک وجود دارد که به برخی از مهمترین آن­ها اشاره می‌کنیم:

 

1.     سرعت: اسپارک با داشتن موتور اجرای بسیار پیشرفته خود از جریان غیرخطی داده‌ها و پردازش درون حافظه‌ای پشتیبانی می‌کند و بدین ترتیب سرعت عملیات افزایش می‌یابد.

 

2.     راحتی کاربرد: اسپارک بیش از 80 عملگر گوناگون را معرفی می­کند که فرایند ساخت برنامه‌های موازی را امکان­پذیر می‌نماید. شما می‌توانید بصورت تعاملی از پوسته‌های اسکالا، پایتون و آر به راحتی استفاده کنید.

 

3.     عمومیت: اسپارک مجموعه‌های از کتابخانه‌های SQL، DataFrame، MLlib برای یادگیری ماشین، GraphX و Spark Streaming را فعال می­کند. می‌توان تمامی این کتابخانه‌ها را در یک برنامه بصورت یکپارچه ترکیب کرد.

 

4.     قابلیت اجرای همگانی: اسپارک بر بسترهای گوناگونی مانند مزوس، هدوپ، بصورت مستقل و در ابر بکار می رود. این ابزار می‌تواند به منابع داده‌ای گوناگون ازجمله فایل سیستم هدوپ، کاساندرا، اچ بیس و S3 دسترسی داشته باشد.