نویسنده : By Craig Brown PhD, Contributor, CIO اخبار
تحول داده ها با استفاده از Apache Spark
Spark یک ابزار ایده آل کلان داده برای شرکت های داده محور است، چون سرعت، استفاده آسان و تطبیق پذیری بالایی دارد. این ابزار به شما در درک سریع داده ها و تصمیم فوری مبتنی بر اطلاعات کمک میکند.
تحول داده ها با استفاده از Apache Spark
Spark یک ابزار ایده آل کلان داده برای شرکت های داده محور است، چون سرعت، استفاده آسان و تطبیق پذیری بالایی دارد. این ابزار به شما در درک سریع داده ها و تصمیم فوری مبتنی بر اطلاعات کمک میکند.
Apache Spark یک محیط مختص کلان داده برای پردازش سریع داده ها است و اجازه پردازش کلان داده ها را به روش توزیعی فراهم میکند (محاسبه خوشه ای). در سال های اخیر بدلیل سرعت، استفاده آسان و تطبیق پذیری بالا متداول شده و بزودی جایگزین Hadoop میشود.
Apache Spark یک محیط پردازش داده منبع باز (Open Source) است که توانایی تحلیل داده های با حجم بالا از طریق ماشین های خوشه ای را داراست. در Scala کدنویسی شده و قابلیت پردازش داده ها از پایگاه های داده نظیر Hadoop Distributed File System، دیتا بیس های NoSQL، یا ذخایر داده ای مرتبط مثل Apache Hiveرا داراست. این محیط، همچنین پردازش درون حافظه ای را پشتیبانی میکند که باعث افزایش عملکرد اپلیکیشن های تحلیلی کلان داده میشود. همچنین در صورتیکه ردیف داده ها برای حافظه سیستم خیلی بزرگ باشد میتوان از آن برای پردازش دیسک متعارف (conventional disk) بهره برد.
تعریف Apache Spark: کلان داده بعنوان اپلیکیشن اصلی
Apache Spark محیط کاری پردازش کلان داده منبع باز است که جهت انجام تحلیل های پیچیده و سرعت بالا و استفاده آسان طراحی و ساخته شده است. اصالتاً توسط AMPLab در دانشگاه UC Berkeley در سال 2009 توسعه یافت و تحت عنوان پروژه Apache در سال 2010 منبع باز شد.
Spark مزایایی نسبت به سایر تکنولوژی های کلان داده و MapReduce مانند Hadoop و Storm دارد. اولاً Spark یک چارچوب جامع و یکپارچه را برای تأمین نیازهای پردازش کلان داده برای ردیف های داده ای متنوع، بر حسب طبیعت آنها (متن، نمودار و غیره) همینطور بر حسب نوع منبع آن (دسته یا سیر زمانی) ارائه میکند. دیگر اینکه Spark به اپلیکیشن هایی که روی خوشه های Hadoop هستند اجازه میدهد روی حافظه تا 100 بار و روی دیسک تا 10 بار سریعتر اجرا شوند. این به شما امکان میدهد در Java، Scala یا Python بسرعت اپلیکیشن و یک گیم با بیش از 80 کاربر حرفه ای بنویسید، همچنین با استفاده از آن میتوان بطور فعال درخواست داده ها را از پوسته فرا خواند.
علاوه بر عملیات Map و Reduce، Spark از دستورات SQL و جریان داده ها پشتیبانی میکند و قابلیت های پردازش نموداری و یادگیری ماشینی را ارائه میدهد. توسعه دهندگان نرم افزار میتوانند از این امکانات هم بصورت تکی و هم بطور ترکیبی با زنجیره ای از عملیات پیچیده بهره ببرند.
محیط کاری Apache Spark میتواند روی خوشه های Hadoop2 که بر پایه مدیر منبع YARN یا Mesos است اجرا شود. همچنین قابلیت اینرا دارد که یا بصورت انفرادی یا روی محیط ابری توسط سرویس Amazon Elastic Compute Cloud اجرا شود. Spark دسترسی به منابع داده ای متنوعی را فراهم می آورد از جمله HDFS، Cassandra، HBase و S3.
دیگر نکته کلیدی این محیط کاری جامعه بزرگ کاربری آنست. Apache Spark توسط شمار زیادی از شرکت ها بمنظور پردازش داده ها مورد استفاده قرار میگیرد. بعنوان یک پلتفرم منبع باز، Apache Spark توسط بسیاری از توسعه دهندگان از بیش از 200 شرکت گسترش یافته است و از سال 2009 بیش از 1000 توسعه دهنده در این پروژه گسترش شرکت داشته اند.