آپاچی اسپارک. آپاچی اسپارک ( انگلیسی: Apache Spark ) یک چارچوب رایانش توزیع شده متن باز است. این نرم افزار در ابتدا توسط دانشگاه کالیفرنیا، برکلی توسعه داده می شد که بعدها کد آن به بنیاد نرم افزار آپاچی هدیه گردید که از آن زمان توسط آن ها نگه داری می شود. اسپارک یک رابط برنامه نویسی کاربردی برای برنامه نویسی تمام خوشه ها با موازی سازی داده های ضمنی و تحمل خطا فراهم می کند.
اسپارک از حافظه اصلی برای نگهداری داده های برنامه استفاده می کند که این امر باعث سریعتر اجرا شدن برنامه ها می شود ( برخلاف مدل نگاشت/کاهش که از دیسک به عنوان مکان ذخیره سازی داده های میانی استفاده می کند ) . همچنین یکی دیگر از مواردی که باعث افزایش کارایی اسپارک می شود، استفاده از مکانیسم حافظه نهان هنگام استفاده از داده هایی است که قرار است دوباره در برنامه استفاده شوند. اینکار باعث کاهش سربار ناشی از خواندن و نوشتن از دیسک می شود. یک الگوریتم برای پیاده سازی در مدل نگاشت/کاهش، ممکن است به چندین برنامه مجزا تقسیم شود و در هنگام اجرا هر بار باید داده ها از دیسک خوانده شده، پردازش شوند و دوباره در دیسک نوشته شوند. اما با استفاده از مکانیسم حافظه نهان در اسپارک، داده ها یکبار از دیسک خوانده می شوند و در حافظه اصلی کَش می شوند و عملیات های متفاوت بروی آن اجرا می شود. در نتیجه استفاده از این روش نیز باعث کاهش چشمگیر سربار ناشی از ارتباط با دیسک در برنامه ها و بهبود کارایی می شود. [ ۲]
Spark Core
هسته اسپارک حاوی عملیات های اولیه اسپارک از جمله اجزای موردنیاز برای زمان بندی وظایف، مدیریت حافظه، مقابله با خطا، تعامل با سیستم ذخیره سازی و … می باشد. هسته اسپارک همچنین محل توسعه APIهایی می باشد کهRDDها را تعریف می کنند و RDDها مفهوم اصلی برنامه نویسی اسپارک می باشند. RDDها نشانگر مجموعه ای از آیتم ها هستند که بر روی گره های محاسباتی متعدد توزیع شده و می توان آن ها را به صورت موازی پردازش کرد. هسته اسپارک APIهای متعددی را برای ایجاد و دستکاری این مجموعه ها ارائه می دهد.
Spark SQL
اسپارک SQL چهارچوبی برای کار کردن با داده های ساخت یافته و دارای ساختار می باشد. این سیستم پرس وجو داده ها را از طریق SQL و همچنین آپاچی هایو، نوع دیگر SQL که HQL نیز نامیده می شود، امکان پذیر ساخته و از منابع داده از جمله جداول هایو، ساختار داده های Parquet, CSV و JSON پشتیبانی می کند. علاوه بر ارائه یک رابط کاربری SQL برای اسپارک، اسپارک SQL توسعه دهندگان را قادر می سازد تا پرس وجوهای SQL را با عملیات های تغییر داده ها بروی RDDها که در پایتون، جاوا و اسکالا پشتیبانی می شود، ترکیب کرده و در یک برنامه پرس جوهای SQL را با تحلیل های پیچیده منسجم کرد. این انسجام نزدیک با محیط پردازشی ارائه شده توسط اسپارک، اسپارک SQLرا از سایر ابزارهای انبار داده متن باز متمایز می کند.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفاسپارک از حافظه اصلی برای نگهداری داده های برنامه استفاده می کند که این امر باعث سریعتر اجرا شدن برنامه ها می شود ( برخلاف مدل نگاشت/کاهش که از دیسک به عنوان مکان ذخیره سازی داده های میانی استفاده می کند ) . همچنین یکی دیگر از مواردی که باعث افزایش کارایی اسپارک می شود، استفاده از مکانیسم حافظه نهان هنگام استفاده از داده هایی است که قرار است دوباره در برنامه استفاده شوند. اینکار باعث کاهش سربار ناشی از خواندن و نوشتن از دیسک می شود. یک الگوریتم برای پیاده سازی در مدل نگاشت/کاهش، ممکن است به چندین برنامه مجزا تقسیم شود و در هنگام اجرا هر بار باید داده ها از دیسک خوانده شده، پردازش شوند و دوباره در دیسک نوشته شوند. اما با استفاده از مکانیسم حافظه نهان در اسپارک، داده ها یکبار از دیسک خوانده می شوند و در حافظه اصلی کَش می شوند و عملیات های متفاوت بروی آن اجرا می شود. در نتیجه استفاده از این روش نیز باعث کاهش چشمگیر سربار ناشی از ارتباط با دیسک در برنامه ها و بهبود کارایی می شود. [ ۲]
Spark Core
هسته اسپارک حاوی عملیات های اولیه اسپارک از جمله اجزای موردنیاز برای زمان بندی وظایف، مدیریت حافظه، مقابله با خطا، تعامل با سیستم ذخیره سازی و … می باشد. هسته اسپارک همچنین محل توسعه APIهایی می باشد کهRDDها را تعریف می کنند و RDDها مفهوم اصلی برنامه نویسی اسپارک می باشند. RDDها نشانگر مجموعه ای از آیتم ها هستند که بر روی گره های محاسباتی متعدد توزیع شده و می توان آن ها را به صورت موازی پردازش کرد. هسته اسپارک APIهای متعددی را برای ایجاد و دستکاری این مجموعه ها ارائه می دهد.
Spark SQL
اسپارک SQL چهارچوبی برای کار کردن با داده های ساخت یافته و دارای ساختار می باشد. این سیستم پرس وجو داده ها را از طریق SQL و همچنین آپاچی هایو، نوع دیگر SQL که HQL نیز نامیده می شود، امکان پذیر ساخته و از منابع داده از جمله جداول هایو، ساختار داده های Parquet, CSV و JSON پشتیبانی می کند. علاوه بر ارائه یک رابط کاربری SQL برای اسپارک، اسپارک SQL توسعه دهندگان را قادر می سازد تا پرس وجوهای SQL را با عملیات های تغییر داده ها بروی RDDها که در پایتون، جاوا و اسکالا پشتیبانی می شود، ترکیب کرده و در یک برنامه پرس جوهای SQL را با تحلیل های پیچیده منسجم کرد. این انسجام نزدیک با محیط پردازشی ارائه شده توسط اسپارک، اسپارک SQLرا از سایر ابزارهای انبار داده متن باز متمایز می کند.
wiki: آپاچی اسپارک