استخراج سری های زمانی بر روی مختصات جغرافیایی داده شده از ماهواره یا داده های عددی پیش بینی آب و هوا به دلیل حجم داده ها و ماهیت چند بعدی آن (زمان، عرض جغرافیایی، طول جغرافیایی، ارتفاع، پارامترهای متعدد) می تواند چالش برانگیز باشد. این نوع پردازش را می توان در تحقیقات آب و هوا و آب و هوا و همچنین در کاربردهایی مانند انرژی فتوولتائیک و باد یافت. به عنوان مثال، سری های زمانی که مقدار انرژی خورشیدی را که به نقاط جغرافیایی خاص می رسد، توصیف می کند، می تواند در طراحی نیروگاه های فتوولتائیک، نظارت بر عملکرد آنها و تشخیص افت بازده کمک کند.
یک تعمیم مسئله را می توان به صورت زیر بیان کرد: چگونه می توانیم داده ها را در امتداد ابعادی که کلید پارتیشن نیست از حجم زیادی از داده های چند بعدی استخراج کنیم؟ برای داده های جدولی، این مشکل به راحتی قابل حل است چسب AWS، که می توانید از آن برای ایجاد شغل برای فیلتر کردن و پارتیشن بندی مجدد داده ها استفاده کنید، همانطور که در انتهای این پست نشان داده شده است. اما اگر دادهها چند بعدی باشند و در یک قالب خاص دامنه ارائه شوند، مانند مورد استفاده که میخواهیم با آن مقابله کنیم، چه؟
AWS لامبدا یک سرویس محاسباتی بدون سرور است که به شما امکان می دهد کد را بدون تهیه یا مدیریت سرورها اجرا کنید. با توابع مرحله AWS، می توانید اجرای موازی توابع Lambda را راه اندازی کنید. این پست نشان می دهد که چگونه می توانید از این سرویس ها برای اجرای وظایف موازی استفاده کنید، با مثال استخراج سری های زمانی از حجم زیادی از داده های آب و هوای ماهواره ای ذخیره شده در سرویس ذخیره سازی ساده آمازون (Amazon S3). شما همچنین از چسب AWS برای ادغام فایل های تولید شده توسط وظایف موازی استفاده می کنید.
توجه داشته باشید که لامبدا یک موتور بدون سرور است. این به طور خاص برای کارهای سنگین تبدیل داده طراحی نشده است. ما پس از تأیید موارد زیر از آن در اینجا استفاده می کنیم:
- مدت زمان کار قابل پیش بینی است و کمتر از 15 دقیقه است که حداکثر زمان برای عملکردهای Lambda است.
- مورد استفاده ساده است، با نیازهای محاسباتی کم و بدون وابستگی خارجی که می تواند روند را کند کند
ما روی یک مجموعه داده ارائه شده توسط EUMESAT کار می کنیم: شار موج کوتاه سطحی MSG مجموع و پراکنده (MDSSFTD). این مجموعه داده حاوی داده های ماهواره ای در فواصل 15 دقیقه ای است netcdf
فرمت، که تقریباً 100 گیگابایت را برای 1 سال نشان می دهد.
ما سال 2018 را پردازش می کنیم تا سری های زمانی را در 100 نقطه جغرافیایی استخراج کنیم.
بررسی اجمالی راه حل
برای رسیدن به هدف خود از توابع لامبدا موازی استفاده می کنیم. هر تابع Lambda 1 روز داده را پردازش می کند: 96 فایل که حجم تقریباً 240 مگابایت را نشان می دهد. سپس ما 365 فایل حاوی دادههای استخراجشده برای هر روز داریم و از چسب AWS استفاده میکنیم تا آنها را برای کل سال به هم بچسبانیم و آنها را در 100 نقطه جغرافیایی تقسیم کنیم. این گردش کار در نمودار معماری زیر نشان داده شده است.
استقرار این راه حل: در این پست، دستورالعمل های گام به گام برای استقرار هر بخش از معماری به صورت دستی را ارائه می دهیم. اگر شما یک استقرار خودکار را ترجیح می دهید، ما یک را برای شما آماده کرده ایم مخزن Github حاوی زیرساخت مورد نیاز به عنوان الگوی کد.
مجموعه داده بر اساس روز، با YYYY/MM/DD/
پیشوندها هر پارتیشن شامل 96 فایل است که توسط یک تابع Lambda پردازش می شود.
ما از توابع مرحله برای راهاندازی پردازش موازی 365 روز سال 2018 استفاده میکنیم. توابع مرحله به توسعهدهندگان کمک میکند از خدمات AWS برای ایجاد برنامههای کاربردی توزیعشده، خودکارسازی فرآیندها، هماهنگسازی ریزسرویسها و ایجاد خطوط لوله داده و یادگیری ماشین (ML) استفاده کنند.
اما قبل از شروع، باید مجموعه داده را دانلود کرده و در یک سطل S3 آپلود کنیم.
پیش نیازها
یک سطل S3 برای ذخیره مجموعه داده های ورودی، خروجی های میانی و خروجی های نهایی استخراج داده ایجاد کنید.
مجموعه داده را دانلود کرده و در آمازون S3 آپلود کنید
ثبت نام رایگان در وب سایت ارائه دهنده داده برای دانلود مجموعه داده مورد نیاز است. برای دانلود مجموعه داده، می توانید از دستور زیر از ترمینال لینوکس استفاده کنید. مدارکی را که در هنگام ثبت نام به دست آورده اید ارائه دهید. ترمینال لینوکس شما می تواند روی دستگاه محلی شما باشد، اما می توانید از یک نیز استفاده کنید AWS Cloud9 نمونه، مثال. مطمئن شوید که حداقل 100 گیگابایت فضای ذخیره سازی رایگان برای مدیریت کل مجموعه داده دارید.
از آنجایی که مجموعه داده بسیار بزرگ است، این دانلود ممکن است زمان زیادی ببرد. در این بین می توانید مراحل بعدی را آماده کنید.
هنگامی که دانلود کامل شد، می توانید مجموعه داده را در یک سطل S3 با دستور زیر آپلود کنید:
اگر از اعتبارنامههای موقت استفاده میکنید، ممکن است قبل از تکمیل کپی منقضی شوند. در این صورت می توانید با استفاده از دستور همگام سازی aws s3.
اکنون که داده ها در آمازون S3 هستند، می توانید دایرکتوری دانلود شده از دستگاه لینوکس خود را حذف کنید.
توابع Lambda را ایجاد کنید
برای دستورالعمل های گام به گام در مورد نحوه ایجاد یک تابع Lambda، مراجعه کنید شروع کار با لامبدا.
اولین تابع Lambda در گردش کار لیست روزهایی را که می خواهیم پردازش کنیم را ایجاد می کند:
سپس از وضعیت نقشه از توابع مرحله برای پردازش هر روز. وضعیت Map یک تابع Lambda را برای هر عنصر برگردانده شده توسط تابع قبلی راه اندازی می کند و این عنصر را به عنوان ورودی ارسال می کند. این توابع Lambda به طور همزمان برای تمام عناصر موجود در لیست راه اندازی می شوند. بنابراین زمان پردازش برای کل سال با زمان مورد نیاز برای پردازش 1 روز یکسان خواهد بود و امکان مقیاس پذیری برای سری های زمانی طولانی و حجم زیادی از داده های ورودی را فراهم می کند.
در زیر نمونه ای از کد تابع Lambda است که هر روز پردازش می کند:
برای دسترسی به سطل های S3 باید نقشی را به تابع Lambda مرتبط کنید. از آنجایی که زمان اجرا حدود یک دقیقه است، باید زمان پایان عملکرد Lambda را نیز بر این اساس پیکربندی کنید. بگذارید آن را روی 5 دقیقه تنظیم کنیم. همچنین حافظه اختصاص داده شده به تابع لامبدا را به 2048 مگابایت افزایش می دهیم که کتابخانه netcdf4 برای استخراج چندین نقطه در یک زمان از داده های ماهواره ای به آن نیاز دارد.
این تابع Lambda به کتابخانه های پانداها و netcdf4 بستگی دارد. آنها را می توان به عنوان Lambda نصب کرد لایه. کتابخانه pandas به عنوان یک لایه مدیریت شده AWS ارائه شده است. کتابخانه netcdf4 باید در یک بسته بندی شود لایه سفارشی.
گردش کار توابع مرحله را پیکربندی کنید
پس از ایجاد دو تابع Lambda، میتوانید با استفاده از بلوکهای Lambda Invoke و Map، گردش کار Step Functions را در ویرایشگر بصری طراحی کنید، همانطور که در نمودار زیر نشان داده شده است.
در بلوک وضعیت نقشه، را انتخاب کنید توزیع شده حالت پردازش و افزایش حد همزمانی به 365 اینچ تنظیمات زمان اجرا. این امکان پردازش موازی تمام روزها را فراهم می کند.
تعداد توابع Lambda که می توانند همزمان اجرا شوند برای هر حساب محدود است. حساب شما ممکن است سهمیه کافی نداشته باشد. تو می توانی درخواست افزایش سهمیه.
دستگاه حالت را راه اندازی کنید
اکنون می توانید دستگاه حالت را راه اندازی کنید. در کنسول Step Functions، به دستگاه حالت خود بروید و انتخاب کنید شروع به اجرا کنید برای اجرای گردش کار شما
این یک پنجره بازشو راه اندازی می کند که در آن می توانید ورودی اختیاری را برای دستگاه حالت خود وارد کنید. برای این پست می توانید پیش فرض ها را رها کرده و انتخاب کنید شروع به اجرا کنید.
کارکرد دستگاه حالت باید 1 تا 2 دقیقه طول بکشد و در این مدت میتوانید پیشرفت گردش کار خود را نظارت کنید. همانطور که در تصویر زیر نشان داده شده است، می توانید یکی از بلوک های نمودار را انتخاب کنید و ورودی، خروجی و سایر اطلاعات آن را به صورت بلادرنگ بررسی کنید. این می تواند برای اهداف اشکال زدایی بسیار مفید باشد.
وقتی همه بلوک ها سبز می شوند، ماشین حالت کامل می شود. در این مرحله، داده های 100 نقطه جغرافیایی را برای یک سال کامل داده های ماهواره ای استخراج کرده ایم.
در سطل S3 که به عنوان خروجی برای عملکرد لامبدای پردازشی پیکربندی شده است، میتوانیم بررسی کنیم که یک فایل در روز داریم که حاوی دادههای تمام 100 نقطه است.
با چسب AWS داده ها را در روز به داده در هر نقطه جغرافیایی تبدیل کنید
در حال حاضر روزانه یک فایل داریم. با این حال، هدف ما بدست آوردن سری زمانی برای هر نقطه جغرافیایی است. این تبدیل شامل تغییر روش پارتیشن بندی داده ها است. از یک پارتیشن روز، باید به یک پارتیشن نقطه جغرافیایی برویم.
خوشبختانه با چسب AWS می توان این عمل را خیلی ساده انجام داد.
- در کنسول AWS Glue Studio، یک کار جدید ایجاد کنید و انتخاب کنید تصویری با بوم خالی.
برای این مثال، ما یک کار ساده با یک بلوک منبع و هدف ایجاد می کنیم.
- یک بلوک منبع داده اضافه کنید.
- بر ویژگی های منبع داده تب، انتخاب کنید مکان S3 برای نوع منبع S3.
- برای آدرس S3، مکانی را که در مرحله قبل فایل های خود را ایجاد کرده اید وارد کنید.
- برای قالب داده، پیش فرض را به عنوان نگه دارید با چوب فرش کردن.
- را انتخاب کنید استنباط طرحواره و مشاهده کنید طرح واره خروجی برای تأیید اینکه طرحواره به درستی شناسایی شده است، برگه را بزنید.
- یک بلوک هدف داده اضافه کنید.
- بر ویژگی های هدف داده برگه، برای قالب، انتخاب کنید با چوب فرش کردن.
- برای نوع فشرده سازی، انتخاب کنید اسنیپت.
- برای مکان هدف S3، مکان هدف S3 را برای فایل های خروجی خود وارد کنید.
ما اکنون باید جادو را پیکربندی کنیم!
- یک کلید پارتیشن اضافه کنید و انتخاب کنید
point_id
.
این به AWS Glue می گوید که می خواهید داده های خروجی شما چگونه پارتیشن بندی شوند. چسب AWS به طور خودکار داده های خروجی را مطابق با پارتیشن بندی می کند point_id
ستون، و بنابراین ما یک پوشه برای هر نقطه جغرافیایی دریافت می کنیم که شامل کل سری های زمانی برای این نقطه به عنوان درخواست شده است.
برای تکمیل پیکربندی، باید یک را اختصاص دهیم هویت AWS و مدیریت دسترسی نقش (IAM) در کار چسب AWS.
- را انتخاب کنید کار جزئیات، و برای نقش IAM¸ نقشی را انتخاب کنید که دارای مجوز خواندن از سطل ورودی S3 و نوشتن در سطل S3 خروجی باشد.
اگر قبلاً نقش مناسبی ندارید، ممکن است مجبور شوید نقش را در کنسول IAM ایجاد کنید.
- یک نام برای کار چسب AWS ما وارد کنید، آن را ذخیره کنید و اجرا کنید.
ما می توانیم با انتخاب بر اجرا نظارت کنیم جزئیات را اجرا کنید. باید 1 تا 2 دقیقه طول بکشد تا کامل شود.
نتایج نهایی
پس از موفقیت کار AWS Glue، میتوانیم در سطل S3 خروجی بررسی کنیم که برای هر نقطه جغرافیایی یک پوشه داریم که شامل تعدادی فایل پارکت با کل سال داده است، همانطور که انتظار میرود.
برای بارگذاری سری زمانی برای یک نقطه خاص در یک قاب داده پاندا، می توانید از آن استفاده کنید کتابخانه awwrangler از کد پایتون شما:
اگر اکنون می خواهید این کد را آزمایش کنید، می توانید یک را ایجاد کنید نمونه نوت بوک in آمازون SageMakerو سپس یک نوت بوک Jupyter را باز کنید. تصویر زیر اجرای کد قبلی را در یک نوت بوک Jupyter نشان می دهد.
همانطور که می بینیم، سری زمانی را برای نقاط جغرافیایی خاص با موفقیت استخراج کرده ایم!
پاک کردن
برای جلوگیری از تحمیل هزینههای آتی، منابعی را که ایجاد کردهاید حذف کنید:
- سطل S3
- کار چسب AWS
- ماشین حالت توابع Step
- دو تابع لامبدا
- نمونه نوت بوک SageMaker
نتیجه
در این پست، نحوه استفاده از Lambda، Step Functions و AWS Glue را برای ETL بدون سرور (استخراج، تبدیل و بارگذاری) روی حجم زیادی از داده های آب و هوا نشان دادیم. معماری پیشنهادی استخراج و پارتیشن بندی مجدد داده ها را تنها در چند دقیقه امکان پذیر می کند. مقیاس پذیر و مقرون به صرفه است و می تواند با سایر موارد استفاده از ETL و پردازش داده سازگار شود.
آیا علاقه مند به کسب اطلاعات بیشتر در مورد خدمات ارائه شده در این پست هستید؟ می توانید آزمایشگاه های عملی برای بهبود دانش خود پیدا کنید کارگاه های آموزشی AWS. علاوه بر این، اسناد رسمی را بررسی کنید چسب AWS, یازدهمین حرف الفبای یونانیو توابع مرحله. همچنین می توانید الگوهای معماری و بهترین شیوه های بیشتر را در اینجا کشف کنید کاغذهای سفید و راهنماهای AWS.
درباره نویسنده
لیور پرز یک معمار اصلی راه حل در تیم Enterprise مستقر در تولوز، فرانسه است. او از حمایت از مشتریان در سفر تحول دیجیتال آنها، استفاده از داده های بزرگ و یادگیری ماشین برای کمک به حل چالش های تجاری آنها لذت می برد. او همچنین شخصاً به رباتیک و اینترنت اشیا علاقه دارد و دائماً به دنبال راههای جدیدی برای استفاده از فناوریها برای نوآوری است.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. خودرو / خودروهای الکتریکی، کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- BlockOffsets. نوسازی مالکیت افست زیست محیطی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/big-data/extract-time-series-from-satellite-weather-data-with-aws-lambda/
- : دارد
- :است
- :نه
- :جایی که
- 1
- 10
- 100
- 11
- 12
- 13
- ٪۱۰۰
- 195
- 2018
- 7
- 9
- a
- قادر
- درباره ما
- دسترسی
- مطابق
- بر این اساس
- حساب
- رسیدن
- در میان
- سازگار
- اضافه کردن
- اضافه کردن
- علاوه بر این
- پس از
- معرفی
- اختصاص داده شده است
- اجازه دادن
- در امتداد
- قبلا
- همچنین
- آمازون
- آمازون خدمات وب
- an
- و
- برنامه های کاربردی
- مناسب
- تقریبا
- معماری
- معماری
- هستند
- AS
- وابسته
- At
- اجازه دادن
- خودکار بودن
- اتوماتیک
- بطور خودکار
- اجتناب از
- AWS
- چسب AWS
- AWS لامبدا
- مستقر
- BE
- زیرا
- بوده
- قبل از
- بهترین
- بهترین شیوه
- میان
- بزرگ
- بزرگ داده
- مسدود کردن
- بلاک ها
- ساختن
- کسب و کار
- اما
- by
- CAN
- نمی توان
- حمل
- مورد
- موارد
- چالش ها
- به چالش کشیدن
- متغیر
- بار
- بررسی
- را انتخاب کنید
- انتخاب
- مشتری
- اقلیم
- رمز
- ستون
- ستون ها
- کامل
- محاسبه
- پیکر بندی
- پیکربندی
- تکرار
- تایید شده
- کنسول
- محکم کردن
- به طور مداوم
- شامل
- زمینه
- تبدیل
- هسته
- به درستی
- مقرون به صرفه
- میتوانست
- ایجاد
- ایجاد شده
- مجوزها و اعتبارات
- مشتریان
- داده ها
- پردازش داده ها
- تاریخ
- تاریخ
- زمان قرار
- روز
- روز
- به طور پیش فرض
- پیش فرض
- بستگی دارد
- گسترش
- گسترش
- طرح
- طراحی
- طراحی
- جزئیات
- شناسایی شده
- توسعه دهندگان
- دیجیتال
- دگرگونی های دیجیتال
- بعد
- مستقیما
- كشف كردن
- توزیع شده
- مستندات
- انجام شده
- آیا
- پایین
- دانلود
- پایین
- مدت
- در طی
- هر
- به آسانی
- سردبیر
- عنصر
- عناصر
- دیگر
- قادر ساختن
- را قادر می سازد
- پایان
- انرژی
- موتور
- وارد
- سرمایه گذاری
- تمام
- خطا
- اتر (ETH)
- واقعه
- هر
- مثال
- جز
- انتظار می رود
- خارجی
- عصاره
- استخراج
- کمی از
- پرونده
- فایل ها
- فیلتر
- نهایی
- پیدا کردن
- پایان
- نام خانوادگی
- FLUX
- پیروی
- به دنبال آن است
- برای
- قالب
- یافت
- FRAME
- فرانسه
- رایگان
- از جانب
- کامل
- تابع
- توابع
- آینده
- سوالات عمومی
- تولید می کنند
- تولید می کند
- جغرافیایی
- دریافت کنید
- داده
- Go
- هدف
- سبز
- دسته
- دست
- آیا
- داشتن
- he
- سنگین
- ارتفاع
- کمک
- کمک می کند
- اینجا کلیک نمایید
- چگونه
- چگونه
- اما
- HTML
- HTTPS
- i
- IAM
- یکسان
- هویت
- if
- نشان می دهد
- واردات
- بهبود
- in
- افزایش
- اطلاعات
- شالوده
- ابداع
- ورودی
- نصب شده
- نمونه
- دستورالعمل
- حد واسط
- به
- شامل
- اینترنت اشیا
- IT
- ITS
- کار
- سفر
- JPG
- نوت بوک ژوپیتر
- تنها
- نگاه داشتن
- کلید
- کلید
- دانش
- آزمایشگاه
- بزرگ
- عرض جغرافیایی
- راه اندازی
- راه اندازی
- لایه
- یادگیری
- کمترین
- ترک کردن
- کمتر
- اجازه می دهد تا
- قدرت نفوذ
- کتابخانه ها
- کتابخانه
- پسندیدن
- محدود
- محدود شده
- لینوکس
- فهرست
- بار
- بارگیری
- محلی
- محل
- طولانی
- مدت زمان طولانی
- مطالب
- خاموش
- کم
- دستگاه
- فراگیری ماشین
- ساخت
- اداره می شود
- مدیریت
- دستی
- نقشه
- بیشترین
- ممکن است..
- در ضمن
- حافظه
- خدمات میکرو
- قدرت
- دقیقه
- دقیقه
- ML
- حالت
- مانیتور
- نظارت بر
- بیش
- چندگانه
- نام
- طبیعت
- هدایت
- نیاز
- ضروری
- جدید
- بعد
- نه
- دفتر یادداشت
- اکنون
- عدد
- بی حس
- هدف
- اشیاء
- به دست آمده
- of
- رسمی
- on
- ONE
- باز کن
- عمل
- or
- OS
- دیگر
- در غیر این صورت
- ما
- خارج
- تولید
- بسته بندی
- پانداها
- موازی
- پارامترهای
- بخش
- عبور
- احساساتی
- الگوهای
- برای
- مجوز
- شخصا
- گیاهان
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- نقطه
- پست
- قدرت
- نیروگاه
- شیوه های
- قابل پیش بینی
- پیش گویی
- ترجیح می دهند
- آماده
- آماده شده
- ارائه شده
- قبلی
- اصلی
- مشکل
- روند
- پردازش
- فرآیندهای
- در حال پردازش
- ساخته
- پیشرفت
- املاک
- پیشنهاد شده
- ارائه
- ارائه
- ارائه دهنده
- هدف
- اهداف
- پــایتــون
- مقدار
- تصادفی
- رسیدن به
- خواندن
- واقعی
- زمان واقعی
- ثبت
- جایگزین کردن
- مخزن
- نمایندگی
- نشان دهنده
- خواسته
- ضروری
- مورد نیاز
- تحقیق
- منابع
- نتیجه
- ادامه
- برگشت
- رباتیک
- نقش
- دویدن
- در حال اجرا
- اجرا می شود
- حکیم ساز
- ماهواره ای
- ذخیره
- مقیاس پذیری
- مقیاس پذیر
- دیدن
- سلسله
- بدون سرور
- سرور
- سرویس
- خدمات
- تنظیم
- چند
- باید
- نشان داد
- نشان داده شده
- نشان می دهد
- ساده
- به سادگی
- به طور همزمان
- تنها
- کند
- خورشیدی
- انرژی خورشیدی
- راه حل
- مزایا
- حل
- برخی از
- منبع
- خاص
- به طور خاص
- انشعاب
- آغاز شده
- راه افتادن
- دولت
- اظهار داشت:
- گام
- مراحل
- ذخیره سازی
- opbevare
- ذخیره شده
- رشته
- استودیو
- موفقیت
- حمایت از
- مطمئن
- سطح
- برخورد با
- گرفتن
- هدف
- وظایف
- تیم
- فن آوری
- می گوید
- موقت
- پایانه
- آزمون
- نسبت به
- که
- La
- دولت
- شان
- آنها
- سپس
- از این رو
- اینها
- آنها
- این
- زمان
- سری زمانی
- به
- جمع
- دگرگون کردن
- دگرگونی
- ماشه
- امتحان
- دور زدن
- دو
- نوع
- استفاده کنید
- مورد استفاده
- با استفاده از
- ارزشها
- بسیار
- چشم انداز
- حجم
- جلد
- می خواهم
- مسیر..
- راه
- we
- هوا
- وب
- خدمات وب
- چی
- که
- در حین
- کاغذهای سفید
- تمام
- اراده
- باد
- قدرت باد
- با
- بدون
- مهاجرت کاری
- گردش کار
- کارگاه های آموزشی
- نوشتن
- نوشته
- X
- سال
- بازده
- شما
- شما
- زفیرنت