درباره این codelab
1. مقدمه
تصور کنید بتوانید داده های خود را سریعتر و کارآمدتر برای تجزیه و تحلیل آماده کنید بدون اینکه نیازی به کدنویسی باشید. با BigQuery Data Preparation ، این یک واقعیت است. این ویژگی قدرتمند، جذب، تبدیل و پاکسازی دادهها را ساده میکند و آمادهسازی دادهها را در اختیار همه متخصصان داده در سازمان شما قرار میدهد.
آماده باز کردن اسرار پنهان در داده های محصول خود هستید؟
پیش نیازها
- درک اولیه از Google Cloud، کنسول
- درک اولیه از SQL
چیزی که یاد خواهید گرفت
- چگونه آمادهسازی دادههای BigQuery میتواند دادههای خام شما را با استفاده از نمونهای واقعبینانه از صنعت مد و زیبایی، پاکسازی و به هوش تجاری کاربردی تبدیل کند.
- نحوه اجرای و زمان بندی آماده سازی داده برای داده های پاک شده خود
آنچه شما نیاز دارید
- یک حساب Google Cloud و پروژه Google Cloud
- یک مرورگر وب مانند کروم
2. تنظیمات اولیه و الزامات
تنظیم محیط خود به خود
- به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .
- نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژههای Google Cloud منحصربهفرد است و تغییرناپذیر است (پس از تنظیم نمیتوان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام
PROJECT_ID
شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، میتوانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند. - برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
- در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورتحساب فراتر از این آموزش، میتوانید منابعی را که ایجاد کردهاید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
3. قبل از شروع
فعال کردن API
برای استفاده از Gemini در BigQuery، باید Gemini for Google Cloud API را فعال کنید. یک مدیر سرویس یا مالک پروژه با مجوز IAM serviceusage.services.enable
معمولاً این مرحله را انجام می دهد.
- برای فعال کردن Gemini for Google Cloud API، به صفحه Gemini for Google Cloud در Google Cloud Marketplace بروید. برای Google Cloud به Gemini بروید
- در انتخابگر پروژه، یک پروژه را انتخاب کنید.
- روی Enable کلیک کنید. صفحه به روز می شود و وضعیت فعال را نشان می دهد. Gemini در BigQuery اکنون در پروژه انتخابی Google Cloud برای همه کاربرانی که مجوزهای IAM مورد نیاز را دارند در دسترس است.
نقش ها و مجوزها را برای توسعه آماده سازی داده ها تنظیم کنید
- در IAM و Admin، IAM را انتخاب کنید
- کاربر خود را انتخاب کنید و روی نماد مداد کلیک کنید تا "ویرایش اصل"
برای استفاده از BigQuery Data Preparation، به نقش ها و مجوزهای زیر نیاز دارید:
- ویرایشگر داده BigQuery (roles/bigquery.dataEditor)
- مصرف کننده استفاده از خدمات (roles/serviceusage.serviceUsageConsumer)
4. یافتن و اشتراک در فهرست "نمایش آماده سازی داده bq" در BigQuery Analytics Hub
ما از مجموعه bq data preparation demo
برای این آموزش استفاده خواهیم کرد. این یک مجموعه داده پیوندی در BigQuery Analytics Hub است که ما از آن خواهیم خواند.
آماده سازی داده ها هرگز به منبع باز نمی نویسد و ما از شما می خواهیم که یک جدول مقصد برای نوشتن تعریف کنید. جدولی که برای این تمرین با آن کار خواهیم کرد، تنها دارای 1000 ردیف است تا هزینه ها را به حداقل برسانیم، اما آماده سازی داده ها در BigQuery اجرا می شود و در کنار آن مقیاس می شود.
این مراحل را برای پیدا کردن و اشتراک در مجموعه داده پیوندی دنبال کنید:
- دسترسی به مرکز تجزیه و تحلیل : در Google Cloud Console، به BigQuery بروید.
- در منوی پیمایش BigQuery، در بخش «Governance»، «Analytics Hub» را انتخاب کنید.
- جستجوی فهرست: در رابط کاربری Analytics Hub، روی Search Listings کلیک کنید."
-
bq data preparation demo
در نوار جستجو تایپ کرده و Enter را فشار دهید.
- اشتراک در فهرست: فهرست
bq data preparation demo
از نتایج جستجو انتخاب کنید. - در صفحه جزئیات لیست، روی دکمه اشتراک کلیک کنید.
- هر دیالوگ تایید را مرور کنید و در صورت نیاز پروژه/مجموعه داده را به روز کنید. پیش فرض ها باید درست باشند.
- دسترسی به مجموعه داده در BigQuery: پس از اینکه با موفقیت مشترک شدید، مجموعه دادههای موجود در فهرست به پروژه BigQuery شما پیوند داده میشوند.
به استودیوی BigQuery برگردید.
5. داده ها را کاوش کنید و آماده سازی داده را راه اندازی کنید
- مجموعه داده و جدول را بیابید: در پانل اکسپلورر، پروژه خود را انتخاب کنید و سپس مجموعه داده ای را که در فهرست
bq data preparation demo
گنجانده شده است، پیدا کنید. جدولstg_product
را انتخاب کنید. - Open in Data Preparation: روی سه نقطه عمودی کنار نام جدول کلیک کنید و
Open in Data Preparation
انتخاب کنید.
با این کار جدولی در رابط آماده سازی داده ها باز می شود، تا شما شروع به تغییر داده های خود کنید.
همانطور که در پیشنمایش دادههای زیر میبینید، ما چالشهای دادهای داریم که با آنها مقابله خواهیم کرد، از جمله:
- ستون قیمت شامل مقدار و ارز است که تجزیه و تحلیل را دشوار می کند.
- ستون محصول نام محصول و دسته بندی را با هم ترکیب می کند (با یک علامت لوله جدا شده |).
فوراً، Gemini داده های شما را تجزیه و تحلیل می کند و تغییرات متعددی را پیشنهاد می کند. در این مثال، تعدادی توصیه را می بینیم. در مراحل بعدی موارد مورد نیاز خود را اعمال خواهیم کرد.
6. مدیریت ستون قیمت
بیایید به ستون قیمت بپردازیم. همانطور که دیدیم، هم ارز و هم مقدار را دارد. هدف ما این است که آنها را به دو ستون مجزا تقسیم کنیم: ارز و مقدار .
جمینی چندین توصیه برای ستون قیمت مشخص کرده است.
- توصیهای را پیدا کنید که چیزی شبیه به:
توضیحات: "این عبارت "USD" پیشرو را از فیلد مشخص شده حذف می کند"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- پیش نمایش را انتخاب کنید
- Apply را انتخاب کنید
سپس برای ستون قیمت ، اجازه دهید نوع داده را از STRING به NUMERIC تبدیل کنیم .
- توصیهای را پیدا کنید که چیزی شبیه به:
توضیحات: "تبدیل قیمت ستون از نوع رشته به float64"
SAFE_CAST(Price AS float64)
- Apply را انتخاب کنید.
اکنون باید سه مرحله اعمال شده را در لیست گام خود مشاهده کنید.
7. مدیریت ستون محصول
ستون محصول شامل نام محصول و دسته بندی است که با یک لوله (|) از هم جدا شده اند.
در حالی که میتوانیم دوباره از زبان طبیعی استفاده کنیم، بیایید یکی دیگر از ویژگیهای قدرتمند Gemini را بررسی کنیم.
نام محصول را پاک کنید
- بخش دسته بندی یک محصول از جمله
|
را انتخاب کنید کاراکتر و حذفش کنید
Gemini به طور هوشمندانه این الگو را تشخیص می دهد و تغییری را برای اعمال در کل ستون پیشنهاد می کند.
- "ویرایش" را انتخاب کنید.
توصیه Gemini به درستی انجام می شود: همه چیزهایی را که بعد از کاراکتر '|' حذف می شود، حذف می کند و به طور موثر نام محصول را جدا می کند.
اما این بار نمی خواهیم داده های اصلی خود را بازنویسی کنیم.
- در قسمت کشویی ستون هدف، «ایجاد ستون جدید» را انتخاب کنید.
- نام را روی ProductName قرار دهید.
- پیش نمایش تغییرات را مشاهده کنید تا مطمئن شوید همه چیز خوب به نظر می رسد.
- Transformation را اعمال کنید.
دسته بندی محصول را استخراج کنید
با استفاده از زبان طبیعی، به Gemini دستور می دهیم که کلمه بعد از لوله (|) را در ستون Product استخراج کند. این مقدار استخراج شده در ستون موجود به نام Product بازنویسی می شود.
- برای افزودن یک مرحله تبدیل جدید، روی
Add Step
کلیک کنید.
- از منوی کشویی
Transformation
را انتخاب کنید - در قسمت اعلان زبان طبیعی، عبارت «extract the after pipe (|) را در ستون Product وارد کنید. سپس بازگشت را بزنید تا SQL تولید شود.
- ستون هدف را به عنوان "محصول" بگذارید.
- روی Apply کلیک کنید.
تبدیل باید نتایج زیر را به شما بدهد.
8. پیوستن برای غنی سازی داده ها
اغلب، شما می خواهید داده های خود را با اطلاعات منابع دیگر غنی کنید. در مثال ما، دادههای محصول خود را با ویژگیهای محصول توسعهیافته، stg_extended_product
، از یک جدول شخص ثالث به هم میپیوندیم. این جدول شامل جزئیاتی مانند نام تجاری و تاریخ عرضه است.
- روی
Add Step
کلیک کنید -
Join
را انتخاب کنید - به جدول
stg_extended_product
بروید.
Gemini در BigQuery به طور خودکار کلید اتصال محصولی را برای ما انتخاب کرد و سمت چپ و راست را انتخاب کرد زیرا نام کلید یکسان است.
توجه: اطمینان حاصل کنید که فیلد توضیحات عبارت "Join by productid" باشد. اگر شامل کلیدهای پیوستن اضافی است، فیلد توضیحات را روی «Join by productid» بازنویسی کنید و دکمه تولید را در قسمت توضیحات انتخاب کنید تا عبارت Join را با شرط L دوباره ایجاد کنید.
productid
= آر.
productid
.
- در صورت تمایل، پیش نمایش را برای پیش نمایش نتایج انتخاب کنید.
-
Apply
کلیک کنید.
پاک کردن ویژگی های توسعه یافته
در حالی که پیوستن موفقیت آمیز بود، داده های ویژگی های توسعه یافته نیاز به تمیز کردن دارند. ستون LaunchDate
دارای قالبهای تاریخ متناقض است و ستون Brand
حاوی مقادیری از دست رفته است.
ما با آدرس دادن به ستون LaunchDate
شروع می کنیم.
قبل از ایجاد هرگونه تحول، توصیه های Gemini را بررسی کنید.
- روی نام ستون
LaunchDate
کلیک کنید. شما باید برخی از توصیه های ایجاد شده مشابه آنچه در تصویر زیر ایجاد شده است را مشاهده کنید.
- اگر توصیه ای با SQL زیر مشاهده کردید، توصیه را اعمال کنید و مراحل بعدی را رد کنید.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- اگر توصیهای مطابق با SQL بالا نمیبینید،
Add Step
کلیک کنید. -
Transformation
را انتخاب کنید. - در قسمت SQL موارد زیر را وارد کنید:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
-
Target Columns
رویLaunchDate
تنظیم کنید. -
Apply
کلیک کنید.
ستون LaunchDate اکنون دارای یک قالب تاریخ ثابت است.
9. اضافه کردن جدول مقصد
مجموعه داده ما اکنون تمیز و آماده برای بارگیری در جدول ابعاد در انبار داده ما است.
- روی
ADD STEP
کلیک کنید. -
Destination
را انتخاب کنید. - پارامترهای مورد نیاز را پر کنید: مجموعه داده:
bq_data_preparation_demo
جدول:DimProduct
-
Save
کلیک کنید.
ما اکنون با تب های "داده" و "شما" کار کرده ایم. علاوه بر اینها، BigQuery Data Preparation یک نمای "گراف" ارائه می دهد که به صورت بصری دنباله ای از مراحل تبدیل را در خط لوله شما نمایش می دهد.
10. امتیاز A: مدیریت ستون سازنده و ایجاد جدول خطا
همچنین مقادیر خالی را در ستون Manufacturer
شناسایی کردهایم. برای این رکوردها، ما می خواهیم یک بررسی کیفیت داده ها را پیاده سازی کنیم و آنها را برای بررسی بیشتر به جدول خطا منتقل کنیم.
یک جدول خطا ایجاد کنید
- روی دکمه
More
در کنار عنوانstg_product data preparation
کلیک کنید. - در بخش
Setting
،Error Table
انتخاب کنید. - کادر
Enable error table
علامت بزنید، تنظیمات را به صورت زیر پیکربندی کنید:
- مجموعه داده:
bq_data_preparation_demo
را انتخاب کنید - جدول:
err_dataprep
را وارد کنید - در قسمت
Define duration for keeping errors
،30 days (default)
انتخاب کنید.
-
Save
کلیک کنید.
اعتبار سنجی را در ستون سازنده تنظیم کنید
- ستون Manufacturer را انتخاب کنید.
- جمینی احتمالاً یک تحول مرتبط را شناسایی کرده است. توصیهای را پیدا کنید که فقط ردیفهایی را نگه میدارد که قسمت سازنده خالی نیست. دارای SQL مشابه:
Manufacturer IS NOT NULL
2. روی دکمه "ویرایش" در این توصیه کلیک کنید تا آن را مرور کنید.
- در صورت عدم تیک زدن گزینه "Failed validation rows go to error table" را علامت بزنید
-
Apply
کلیک کنید.
در هر زمانی، میتوانید با کلیک بر روی دکمه «مراحل اعمال شده» تغییراتی را که اعمال کردهاید بررسی، اصلاح یا حذف کنید.
ستون اضافی ProductID_1 را پاک کنید
ستون ProductID_1، که شناسه محصول را از جدول متصل ما کپی می کند، اکنون می تواند حذف شود.
- به تب
Schema
بروید - روی 3 نقطه کنار ستون
ProductID_1
کلیک کنید. - روی
Drop
کلیک کنید.
ما اکنون آماده اجرای کار آماده سازی داده ها و اعتبارسنجی کل خط لوله خود هستیم. وقتی از نتایج راضی شدیم، میتوانیم کار را برای اجرای خودکار برنامهریزی کنیم.
- قبل از دور شدن از نمای آماده سازی داده، آماده سازی خود را ذخیره کنید. در کنار عنوان
stg_product data preparation
، باید دکمهSave
را مشاهده کنید. برای ذخیره روی دکمه کلیک کنید.
11. پاکسازی محیط
-
stg_product data preparation
حذف کنید - مجموعه داده
bq data preparation demo
را حذف کنید
12. تبریک میگم
برای تکمیل کد لبه تبریک می گویم.
آنچه را پوشش داده ایم
- تنظیم آماده سازی داده ها
- باز کردن جداول و ناوبری آماده سازی داده ها
- تقسیم ستون ها با داده های عددی و توصیفگر واحد
- استاندارد کردن فرمت های تاریخ
- در حال اجرا آماده سازی داده ها