زمان تخمینی مطالعه:‌ 3 دقیقه

فعالیت ها (Actions)


در زیر لیستی از Action ها را می بینید :

1- Reduce( func) :

المنت های dataset را با استفاده از تابع func ( که دو آرگومان می گیرد و یک خروجی می دهد )

تابع می تواند مبادله ای ( commutative ) و انجمنی ( associative ) باشد که می تواند به صورت موازی و به درستی آن را محاسبه کرد.

2- Collect() :

کل المان های دیتاست را به عنوان آرایه ( array at the driver program ) برمی گرداند.

معمولا بعد از فیلتر ( filter ) یا عملیاتی که قسمت کوچکی از داده را برمی گرداند استفاده از collect مفید است.

3- Count() :

تعداد المان های دیتاست را برمی گرداند.

4- First() :

تعداد المان دیتاست را برمی گرداند، مانند take(1) عمل می کند.

5- Take(n) :

یک آرایه با اولین ایندکس n، از المان های دیتاست را برمی گرداند.

6- Take Sample( WithReplacement,num,[Seed] ) :

آرایه ای با مقدار رندوم num از المان های دیتاست برمی گرداند که "با" یا "بدون" ( replacrment ) ( تعویض ) است.

همچنین می توان با استفاده از پارامتر اختیاری seed الگوی رندوم را انتخاب کرد.

7- Take Ordered( n,[ordering] ) :

تعداد n المنت اول RDD را به صورت خنثی و یا مرتب ([ordering]) برمی گرداند.

8- Save As Text File( Path ) :

المنت های دیتاست را در مسیر گرفته شده ( path ) در هارد یا HDFS یا هر فایل سیستمی که hadoop ساپورت می کند، می نویسد.

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

9- Save As Sequence File( Path )( Java and Scala ) :

المنت های dataset را به عنوان یک Sequence File هادوپ در مسیر گرفته شده می نویسد.

این کار این امکان را می دهد که RDD های زوج ( value,name ) بتوانند واسط ( interface ) قابل نوشتن هادوپ را پیاده کند.

همچنین روی انواعی که به صورت ضمنی قابل تغییر به نوشتنی ( writeable ) باشند این امکان در دسترس است.

( اسپارک تبدیلات را برای انواع ابتدایی نوع داده مانند : Int و Double و string پشتیبانی می کند.)

10- Save As Object File( Path )( Java and Scala ) :

المنت های دیتاست را با فرمت ساده ی Java Serialization ذخیره می کند، که این فایل ها می تواند با SparkContext.objectFile() لود ( خوانده ) می شود.

11- Count By Key() :

فقط برای RDD های نوع ( k,v ) است، خروجی آن یک hashmap از زوج های ( k,Int ) است که تعداد هر key در آن مشخص است.

12- Foreach( func ) :

تابع func را روی هر المنت دیتاست اجرا می کند.

معمولا برای آپدیت حافظه ها یا ارتباط با سیستم های حافظه خارجی استفاده می شود.

نکته : تغییر متغیرها در بیرون از حلقه foreach در حافظه ها امکان دارد یک رفتار غیر تعریف شده تلقی شود.

برای اطلاعات بیش تر مطلب Understanding Closures را ببینید.


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