با Terraform یک پشته داده مدرن را در 5 دقیقه بوت استرپ کنید
پشته داده مدرن چیست و چگونه آن را مستقر می کنید؟ این راهنما به شما انگیزه میدهد تا با دستورالعملهای راهاندازی Airbyte، BigQuery، dbt، Metabase و هر چیز دیگری که با استفاده از Terraform نیاز دارید، این سفر را شروع کنید.
By توآن نگوین، CTO و عضو هیئت مدیره در Joon Solutions.
معماری پشته داده های مدرن (تصویر توسط نویسنده).
پشته داده مدرن چیست؟
پشته داده های مدرن (MDS) مجموعه ای از فناوری ها است که باعث می شود یک انبار داده مدرن 10 تا 10,000 برابر بهتر از یک انبار داده قدیمی عمل کند. در نهایت، MDS باعث صرفه جویی در زمان، پول و تلاش می شود. چهار ستون MDS عبارتند از a رابط داده، یک انبار داده ابر، یک ترانسفورماتور دادهو BI و اکتشاف داده ابزار است.
ساده ادغام با ابزارهای مدیریت شده و منبع باز که صدها کانکتور آماده برای استفاده را از قبل ساخته اند، امکان پذیر است. چیزی که قبلاً تیمی از مهندسان داده را به ساخت و نگهداری منظم می برد، اکنون می تواند با ابزاری برای موارد استفاده ساده جایگزین شود. راه حل های مدیریت شده مانند کوک و پنج تران، همراه با راه حل های منبع باز مانند ایربایت و ملتنو، باعث این اتفاق می شوند.
با استفاده از انبار داده ستونی مبتنی بر ابر اخیراً به دلیل کارایی بالا و مقرون به صرفه بودن این روند رو به افزایش بوده است. به جای پرداخت 100 هزار دلار در سال برای پایگاه داده MPP (پردازش انبوه موازی) در محل، می توانید از 100 دلار (یا کمتر) در ماه شروع به پرداخت کنید. گفته می شود که انبارهای داده بومی ابری 10 تا 10,000 برابر سریعتر از یک OLTP سنتی هستند. گزینه های محبوب در این دسته هستند BigQuery, دانه برفو انتقال قرمز.
در قدیم، پردازش دادهها در انبار داده به دلیل محدودیتهای فناوری، گلوگاه بود. در نتیجه، شرکت ها مجبور شدند برای کاهش حجم کاری انبار داده، به جای ELT از ETL استفاده کنند. با این حال، با پیشرفت انبارهای داده بومی ابری، بسیاری از آنها ابزارهای تبدیل در انبار داده محبوب می شوند. قابل توجه ترین در این دسته dbt (ابزار ساخت داده) و Dataform هستند.
ابزارهای BI برای مراقبت از برخی تحولات برای کاهش بار کاری در انبارهای داده قدیمی نیز استفاده می شود. با این حال، با پشته داده های مدرن، تمرکز ابزارهای BI (به نظر من) به سمت دموکراتیک کردن دسترسی به داده، خدمات سلف سرویس، و کشف داده تغییر یافته است. برخی از ابزارهایی که فکر می کنم در مسیر درستی قرار دارند، هستند شبان, متابازو سوپرست.
معماری ما
شروع کار با Modern Data Stack می تواند دلهره آور باشد زیرا ابزارها و فرآیندهای مختلفی درگیر هستند. این مقاله قصد دارد به شما کمک کند تا این سفر را تا حد امکان یکپارچه شروع کنید. مراحل آماده سازی زیادی وجود دارد، اما فقط طول می کشد پنج دقیقه برای چرخش تمام منابع پس از اتمام کار.
استفاده خواهیم کرد Terraform، یک ابزار منبع باز زیرساخت به عنوان کد برای ارائه همه چیز در Google Cloud. اگر دستورالعمل های زیر را دنبال کنید، در اینجا منابعی هستند که ایجاد خواهند شد.
- یک پروژه Google Cloud با فعال کردن API ضروری
- جذب: یک نمونه GCE که Airbyte را اجرا می کند
- انبارداری: مجموعه داده های BigQuery
- ارکستراسیون (اختیاری): یک نمونه GCE که جریان هوا را اجرا می کند
- BI و کشف داده ها: یک نمونه GCE که Metabase را اجرا می کند
- حساب سرویس برای سرویس های مختلف و الزامات مجوز IAM آنها
شروع کنید
یک حساب Google Cloud ایجاد کنید و صورتحساب را فعال کنید
کد Terraform در این پروژه با Google Cloud Platform تعامل خواهد داشت. بنابراین، اولین قدم ما ایجاد یک حساب کاربری گوگل و صورتحساب را فعال کنید. توجه داشته باشید که شناسه صورتحساب با فرمت زیر در صفحه صورتحساب: ######-######-######. در مرحله بعد به این مقدار نیاز خواهید داشت.
Google Cloud CLI را نصب کنید
Google Cloud SDK را طبق دستورالعمل ها نصب کنید اینجا کلیک نمایید برای سیستم عامل مربوطه شما بعد از اینکه دارید gcloud CLI نصب شده است، دستور زیر را در پنجره ترمینال اجرا کنید و دستورالعمل ها را دنبال کنید. این به Terraform اجازه می دهد از اعتبار پیش فرض برای احراز هویت استفاده کند.
gcloud auth application-login پیش فرض
Terraform را نصب کنید
دستورالعمل ها را دنبال کنید اینجا کلیک نمایید برای نصب Terraform CLI به صورت محلی. سپس دستور زیر را برای بررسی نصب خود اجرا کنید:
terraform -v
شما باید چیزی شبیه به این را ببینید:
Terraform نسخه 1.0.0 در darwin_amd64 + ارائه دهنده registry.terraform.io/hashicorp/google v3.71.0
این مخزن را به صورت محلی تقسیم یا شبیه سازی کنید
تو می توانی چنگال این مخزن به حساب کاربری خود یا شبیه سازی آن در دستگاه محلی خود. برای شبیه سازی مخزن، موارد زیر را اجرا کنید:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
ایجاد یک terraform.tfvars پرونده
ایجاد یک terraform.tfvars فایل با محتوای زیر:
# شناسه صورتحساب از مرحله اول billing_id = ######-######-###### # شناسه پوشه جایی که میخواهید پروژه شما در زیر باشد # اگر استفاده میکنید این را خالی بگذارید a personal account folder_id = "" # شناسه سازمانی که میخواهید پروژه شما در آن قرار گیرد، اگر از حساب شخصی استفاده میکنید، این را خالی بگذارید. org_id = "" # پروژه برای ایجاد پروژه_id = ""
هشدار: اینها ارزش های حساس محسوب می شوند. این فایل و *.tfstate فایل ها به یک مخزن عمومی
سفارشی کردن مقادیر در متغیرها.tf
متغیرهای موجود در متغیرها.tf برای پیکربندی منابع استفاده خواهد شد.
تصویر توسط نویسنده
با تغییر متغیرها می توانید نوع دستگاه را برای سرویس های مختلف سفارشی کنید. اگر نمی خواهید از هیچ سرویسی استفاده کنید، آن را در قسمت نظر خود بیان کنید gce.tf فایل.
همچنین می توانید مجموعه داده های مختلفی را برای سیستم های منبع خود با افزودن آنها به فرهنگ لغت مجموعه داده های منبع ایجاد کنید.
یک پشته داده مدرن ایجاد کنید
در نهایت، برای تهیه همه این منابع در Google Cloud، دستور زیر را اجرا کنید:
terraform اعمال شود
تصویر توسط نویسنده
خروجی را در ترمینال مطالعه کنید تا مطمئن شوید که تمام تنظیمات منابع همان چیزی است که می خواهید باشد. تایپ کنید بله و ضربه را وارد کنید.
Terraform با پشته داده های مدرن ما یک پروژه Google Cloud ایجاد می کند. کل فرآیند حدود 2 تا 3 دقیقه طول خواهد کشید. 2 تا 3 دقیقه اضافی طول می کشد تا سرویس ها روی نمونه های VM نصب شوند. کل فرآیند فقط 5 دقیقه یا کمتر طول می کشد.
استفاده از پشته داده های مدرن
حساب های سرویس را برای سرویس های مختلف بازیابی کنید
تصویر توسط نویسنده
گوگل استفاده از حساب سرویس متفاوت را برای سرویس های مختلف توصیه می کند. کد terraform در این پروژه حساب های مختلفی را برای فناوری های مختلفی که قبلاً استفاده شده است ایجاد کرده است. برای بازیابی یک حساب سرویس برای یک سرویس خاص، دستور زیر را اجرا کنید:
خروجی terraform [service_name]_sa_key
مجوز پیش فرض برای همه این حساب ها است roles/bigquery.admin. می توانید این را در قسمت سفارشی سازی کنید iam.tf فایل.
مقداری که دریافت کردید با کد base64 است. برای برگرداندن این مقدار به فرمت JSON، دستور زیر را اجرا کنید:
echo "[مقدار از دستور قبلی]" | base64 -d
می توانید از حساب سرویس JSON برای تأیید اعتبار دسترسی سرویس به منابع پروژه خود استفاده کنید.
هشدار: هر کسی با این حساب سرویس می تواند به پروژه شما دسترسی داشته باشد.
دریافت داده با Airbyte
ایربایت یک ابزار ادغام داده منبع باز عالی است. برای دسترسی به رابط کاربری Airbyte، ابتدا دستور gcloud SSH را دریافت کنید.
تصویر توسط نویسنده
دستوری شبیه به این دریافت خواهید کرد:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
سپس، موارد زیر را به دستور پورت فوروارد کردن Airbyte UI به صورت محلی اضافه کنید:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
دستور نهایی شما به این صورت خواهد بود:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
توجه داشته باشید: مطمئن شوید که کاراکتر خط جدید را پس از کپی از رابط کاربری GCP حذف کنید.
اگر راهاندازی نمونه Airbyte به پایان رسیده است، میتوانید با رفتن به مرورگر خود به آن دسترسی داشته باشید و از آن بازدید کنید localhost: 8000. اگر نه، پنج دقیقه صبر کنید تا نمونه نصب را کامل کند.
تصویر توسط نویسنده
اکنون می توانید منابع خود را ادغام کنید، یک مقصد BigQuery را با استفاده از آن اضافه کنید airbyte_sa_keyو داده های خود را در BigQuery در کمترین زمان ممکن داشته باشید.
می توانید به نصب Airbyte دسترسی پیدا کنید /airbyte/ داخل ماشین مجازی
مدل سازی داده ها با dbt
dbt (ابزار ساخت داده) یک ابزار قدرتمند تبدیل داده منبع باز با استفاده از SQL است. این به تحلیلگران داده امکان می دهد کارهایی را که قبلاً برای مهندسان داده رزرو شده بود انجام دهند. همچنین به ایجاد یک موقعیت کاملاً جدید به نام مهندس تجزیه و تحلیل، ترکیبی از یک تحلیلگر داده و یک مهندس داده کمک می کند. می توانید اطلاعات بیشتری در مورد موقعیت در وبلاگ من بخوانید اینجا کلیک نمایید.
تصویر توسط نویسنده
برخلاف Airbyte، Airflow و Metabase، برای اجرای dbt نیازی به سرور ندارید. با مراجعه به آنها می توانید برای یک حساب 1 نفره رایگان (برای همیشه) ثبت نام کنید سایت اینترنتی.
گردش کار را با Airflow هماهنگ کنید
جریان هوا یک ابزار ارکستراسیون جریان کار اثبات شده در نبرد است که توسط Airbnb ایجاد شده است. با یک پشته داده مدرن، امیدواریم که مجبور نباشید زیاد از Airflow استفاده کنید. با این حال، در برخی موارد که نیاز به سفارشیسازی است، Airflow میتواند ابزار اصلی شما باشد.
برای دسترسی به رابط کاربری، دستور SSH مشابه قسمت بالا را با Airbyte دریافت کنید. برای پورت فوروارد از دستور زیر استفاده کنید:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
اکنون می توانید به نصب جریان هوا دسترسی داشته باشید localhost: 8080. نام کاربری و رمز عبور پیش فرض هستند مدیر سایت و مدیر سایت.
تصویر توسط نویسنده
می توانید به نصب جریان هوا دسترسی داشته باشید /جریان هوا/ داخل ماشین مجازی
داده ها را با متابیس تجسم کنید
متاباز ابزاری برای تجسم و کشف داده های منبع باز است. فوق العاده کاربرپسند است و شروع کار با آن آسان است.
برای دسترسی به رابط کاربری Metabase، دستور SSH مشابه قسمت بالا را با Airbyte دریافت کنید. سپس از دستور زیر برای port-forward استفاده کنید:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
تصویر توسط نویسنده
پاک کردن
برای جلوگیری از هرگونه هزینه ناخواسته، حتما منابع ایجاد شده در این پروژه را با اجرا پاکسازی کنید.
terraform نابود کردن
هشدار: با این کار هرگونه داده و منابع باقی مانده در پروژه حذف می شود. از طرف دیگر، می توانید برای صرفه جویی در هزینه ها، GCE استفاده نشده را خاموش کنید.
اصلی. مجدداً با اجازه دوباره ارسال شد.
بیوگرافی: توآن نگوین مدیر ارشد فناوری Joon Solutions، یک شرکت داده به عنوان خدمات است. تجربیات حرفه ای او حول محور ساخت و مدیریت تیم های علم داده، زیرساخت های تجزیه و تحلیل و موارد استفاده از تجزیه و تحلیل می چرخد. او دوست دارد اشتیاق خود را برای تجزیه و تحلیل داده ها و محاسبات ابری ترکیب کند تا به کسب و کارها کمک کند در این روز و عصر دیجیتال رقابتی باقی بمانند. او دارای طیف گسترده ای از علایق، از جمله نجوم، خواندن، موسیقی و اینترنت اشیا است.
مرتبط:
داستانهای برتر 30 روز گذشته | |||||
---|---|---|---|---|---|
|
|
منبع: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- دسترسی
- حساب
- اضافی
- Airbnb
- معرفی
- روانکاو
- علم تجزیه و تحلیل
- آپاچی
- API
- معماری
- دور و بر
- مقاله
- ستاره شناسی
- تصدیق
- خودکار
- بتا
- بزرگ نمایی
- صدور صورت حساب
- بلاگ
- تخته
- عضو هیئت مدیره
- مرز
- مرورگر
- ساختن
- بنا
- کسب و کار
- اهميت دادن
- موارد
- ابر
- محاسبات ابری
- بستر ابری
- رمز
- شرکت
- شرکت
- محاسبه
- محاسبه
- محتوا
- هزینه
- ایجاد
- CTO
- داده ها
- دسترسی به داده ها
- تجزیه و تحلیل داده ها
- یکپارچه سازی داده ها
- علم اطلاعات
- تجسم داده ها
- انبار داده
- انبارهای داده
- پایگاه داده
- روز
- یادگیری عمیق
- از بین بردن
- دیجیتال
- مدیر
- کشف
- مهندس
- مورد تأیید
- تجارب
- نام خانوادگی
- تمرکز
- به دنبال
- قالب
- رایگان
- طلا
- گوگل
- Google Cloud
- GPU ها
- راهنمایی
- اینجا کلیک نمایید
- زیاد
- چگونه
- HTTPS
- صدها نفر
- ترکیبی
- IAM
- تصویر
- از جمله
- شالوده
- ادغام
- گرفتار
- اینترنت اشیا
- IT
- یاد گرفتن
- یادگیری
- لینک
- محلی
- به صورت محلی
- فراگیری ماشین
- ساخت
- متوسط
- ML
- پول
- موسیقی
- آنلاین
- باز کن
- منبع باز
- نظر
- گزینه
- کلمه عبور
- کارایی
- سکو
- محبوب
- پروژه
- عمومی
- محدوده
- مطالعه
- كاهش دادن
- منابع
- منابع
- دویدن
- در حال اجرا
- علم
- دانشمندان
- sdk
- سلف سرویس
- خدمات
- ساده
- مزایا
- چرخش
- SQL
- شروع
- آغاز شده
- ماندن
- داستان
- سیستم های
- فن آوری
- زمان
- بالا
- دگرگونی
- تبدیل شدن
- ui
- ارزش
- تجسم
- صبر کنيد
- انبار کالا
- چه شده است
- مهاجرت کاری
- گردش کار
- X
- سال