۱. مقدمه
بیگکوئری یک انبار داده بدون سرور، بسیار مقیاسپذیر و مقرونبهصرفه است. کافیست دادههای خود را به بیگکوئری منتقل کنید و اجازه دهید ما کارهای سخت را انجام دهیم تا بتوانید روی آنچه واقعاً مهم است، یعنی اداره کسب و کار خود، تمرکز کنید. میتوانید دسترسی به پروژه و دادههای خود را بر اساس نیازهای کسب و کارتان کنترل کنید، مانند اینکه به دیگران امکان مشاهده یا پرسوجو از دادههای خود را بدهید.
در این آزمایشگاه، شما با امکانات تحلیلی BigQuery آشنا خواهید شد. یاد خواهید گرفت که چگونه یک مجموعه داده را از یک مخزن ذخیرهسازی ابری گوگل وارد کنید و با کار با یک مجموعه داده بانکداری خرد، با رابط کاربری BigQuery آشنا شوید. علاوه بر این، این آزمایشگاه به شما یاد میدهد که چگونه ویژگیهای کلیدی BigQuery را کشف کنید که تجزیه و تحلیل روزانه شما را بسیار آسانتر میکند، مانند خروجی گرفتن نتایج پرسوجو در یک صفحه گسترده، مشاهده و اجرای پرسوجوها از تاریخچه پرسوجو، مشاهده عملکرد پرسوجو و ایجاد نماهای جدول برای استفاده توسط سایر تیمها و بخشها.
آنچه یاد خواهید گرفت
در این آزمایشگاه، شما یاد میگیرید که چگونه وظایف زیر را انجام دهید:
- بارگذاری دادههای جدید در BigQuery
- با رابط کاربری BigQuery آشنا شوید
- اجرای کوئریها در BigQuery
- مشاهده عملکرد پرس و جو
- ایجاد نماها در BigQuery
- به اشتراک گذاری ایمن مجموعه دادهها با دیگران
۲. مقدمه: درک رابط کاربری BigQuery
در این بخش یاد خواهید گرفت که چگونه در رابط کاربری BigQuery پیمایش کنید، مجموعه دادههای موجود را مشاهده کنید و یک کوئری ساده اجرا کنید.
بارگیری رابط کاربری BQ
- عبارت "BigQuery" را که در بالای کنسول پلتفرم ابری گوگل قرار دارد، تایپ کنید.
- از لیست گزینهها، BigQuery را انتخاب کنید. حتماً گزینهای را انتخاب کنید که لوگوی BigQuery، یعنی ذرهبین، را داشته باشد.
مشاهده مجموعه دادهها و اجرای کوئریها

- در پنل سمت چپ در بخش منابع (Resource)، روی پروژه BigQuery خود کلیک کنید.
- برای مشاهده جداول موجود در آن مجموعه داده، روی
bq_demoکلیک کنید. - در کادر جستجو، عبارت «card» را تایپ کنید تا فهرستی از جداول و مجموعه دادههایی که در نامشان کلمه «card» وجود دارد را مشاهده کنید.
- جدول "card_transactions" را از لیست نتایج جستجو انتخاب کنید

- برای مشاهدهی متادیتای این جدول، روی تب جزئیات (Details) در زیر بخش
card_transactionsکلیک کنید. - برای دیدن پیشنمایش جدول، روی برگه پیشنمایش کلیک کنید
[ نکته رقابتی]: ادغام با کاتالوگ دادههای گوگل به این معنی است که ابردادههای BigQuery میتوانند به همراه سایر منابع داده، مانند دریاچههای داده یا منابع داده عملیاتی، مدیریت شوند. این یکی از نمونههایی است که نشان میدهد Google Cloud فقط یک انبار داده رابطهای نیست، بلکه یک پلتفرم کامل دادههای تحلیلی است.
- برای پرسوجو در جدول "card_transactions" روی نماد ذرهبین کلیک کنید. یک متن خودکار تولید شده، ویرایشگر پرسوجوی BigQuery را پر میکند.
- کد زیر را وارد کنید تا فروشندگان متمایز از جدول Card_Transactions را به ما نشان دهد.
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
- برای اجرای پرس و جو، روی دکمه اجرا کلیک کنید.

۳. ایجاد مجموعه دادهها و اشتراکگذاری نماها
اشتراکگذاری دادهها و مدیریت آنها بسیار مهم است، این کار را میتوان به صورت شهودی در رابط کاربری BQ انجام داد. در این بخش یاد خواهید گرفت که چگونه یک مجموعه داده جدید ایجاد کنید، آن را با یک نما پر کنید و آن مجموعه داده را به اشتراک بگذارید.
مشاهده تاریخچه پرس و جو
- روی «سابقه جستجو» در پنل سمت چپ کنسول GCP کلیک کنید
- روی refresh در پنل Query History کلیک کنید.
- برای مشاهده نتایج جستجو، روی تصویر/فلش دانلود در سمت راست جستجو کلیک کنید.

ایجاد یک مجموعه داده جدید
- [نام پروژه خود] را در قسمت منابع رابط کاربری BigQuery انتخاب کنید.
- از پنجره اطلاعات پروژه، گزینه «ایجاد مجموعه داده جدید» را انتخاب کنید.
- برای شناسه مجموعه داده:
bq_demo_shared
- تمام فیلدهای دیگر را به صورت پیشفرض رها کنید
- روی «ایجاد مجموعه داده» کلیک کنید


ایجاد نماها
[ نکته رقابتی]: BigQuery کاملاً با ANSI SQL سازگار است و از اتصالات چند جدولی ساده و پیچیده و توابع تحلیلی غنی پشتیبانی میکند. ما به طور مداوم پشتیبانی پیشرفتهای را برای انواع داده و توابع رایج SQL که در انبارهای داده سنتی استفاده میشوند، منتشر کردهایم تا روند مهاجرت را آسانتر کنیم.
- در بالای پنجره ویرایشگر پرسوجو، گزینه «ایجاد پرسوجوی جدید» را انتخاب کنید.
- کد زیر را در ویرایشگر کوئری وارد کنید
WITH revenue_by_month AS (
SELECT
card.type AS card_type,
FORMAT_DATE('%Y-%m', trans_date) as revenue_date,
SUM(amount) as revenue
FROM bq_demo.card_transactions
JOIN bq_demo.card ON card_transactions.cc_number = card.card_number
WHERE trans_date DATE_ADD(CURRENT_DATE, INTERVAL -1 YEAR)
GROUP BY card_type, revenue_date
)
SELECT
card_type,
revenue_date,
revenue as monthly_rev,
revenue - LAG(revenue) OVER (ORDER BY card_type, revenue_date ASC) as rev_change
FROM revenue_by_month
ORDER BY card_type, revenue_date ASC;
- روی «ذخیره نمایش» کلیک کنید
- پروژه فعلی خود را برای نام پروژه انتخاب کنید
- مجموعه داده تازه ایجاد شده را انتخاب کنید:
bq_demo_shared
- برای نام جدول:
تغییر_بر_حسب_نوع_کارت
- روی ذخیره کلیک کنید.

اشتراکگذاری نماها و مجموعه دادهها
- مجموعه داده "bq_demo_shared" را از پنل منابع سمت چپ در رابط کاربری BigQuery انتخاب کنید.
- روی «اشتراکگذاری مجموعه داده» از قسمت اطلاعات مجموعه داده کلیک کنید.
- یک آدرس ایمیل وارد کنید
- از منوی کشویی نقش، گزینه «نمایشگر دادههای BigQuery» را انتخاب کنید.
- روی «افزودن» کلیک کنید
- کلیک کنید انجام شد

کاوش دادهها در برگهها
[ نکته رقابتی]: یکی دیگر از مزایای BigQuery در مقایسه با رقبایش، موتور BI است. موتور BI میتواند برای ایجاد خلاصهای از نوع BI در کمتر از یک ثانیه از طریق موتور ذخیرهسازی درون حافظهای استفاده شود. این قابلیت در حال حاضر توسط Google Data Studio پشتیبانی میشود، اما به زودی برای تسریع همه پرسوجوها در BigQuery در دسترس خواهد بود.
برای مثال:
اسنوفلیک برای داشبوردها و مصورسازی دادهها به ابزارهای هوش تجاری شخص ثالث متکی است، در حالی که جیسیپی طیف وسیعی از ابزارهای هوش تجاری یکپارچه، از جمله Connected Sheets، Data Studio و Looker را ارائه میدهد.
- نمای "rev_change_by_card_type" را از پنل منابع سمت چپ در رابط کاربری BigQuery انتخاب کنید.
- برای مشاهده، روی ذرهبین کلیک کنید

- نوع:
انتخاب *
از bq_demo_shared.rev_change_by_card_type
- روی اجرا کلیک کنید
- روی نماد «صادرات» از پنل نتایج کلیک کنید
- «کاوش دادهها با برگهها» را انتخاب کنید

- روی «شروع تحلیل» کلیک کنید
- انتخاب "جدول محوری"
- انتخاب «برگه جدید»
- روی «ایجاد» کلیک کنید
- عبارت "revenue_date" را در بخش Row از Pivot Table Editor که در سمت راست پنجره Sheets قرار دارد، اضافه کنید.
- عبارت "card_type" را در بخش ستونهای ویرایشگر جدول محوری اضافه کنید.
- عبارت "monthly_rev" را در بخش ستونهای ویرایشگر جدول محوری اضافه کنید.
- روی اعمال کلیک کنید

- به بالای صفحه رابط کاربری Sheets بروید و گزینه Insert Chart را انتخاب کنید.
۴. راهاندازی: یکپارچهسازی دادهها
در این بخش یاد خواهید گرفت که چگونه یک جدول جدید ایجاد کنید و روی یکی از مجموعه دادههای عمومی موجود در Google Cloud، عملیات JOINS را انجام دهید.
[نکته رقابتی]:
بیگکوئری سالهاست که از مجموعه دادههای مشترک پشتیبانی میکند. مشتریان در هر پروژهای میتوانند هم از مجموعه دادههای عمومی و هم از مجموعه دادههای موجود در پروژههای دیگری که با آنها به اشتراک گذاشته شده است، پرسوجو کنند.
BigQuery میتواند از طریق استفاده از جداول خارجی، از دریاچههای داده در GCS پشتیبانی کند. علاوه بر بارگذاری انبوه، BigQuery از قابلیت پخش جریانی دادهها به پایگاه داده با سرعتی بالغ بر صدها مگابایت در ثانیه پشتیبانی میکند. Snowflake از پخش جریانی دادهها پشتیبانی نمیکند.
وارد کردن دادهها به یک جدول جدید
- در قسمت منابع، مجموعه داده bq_demo را انتخاب کنید.
- در قسمت اطلاعات مجموعه داده، گزینه «ایجاد جدول» را انتخاب کنید.
- برای منبع، فضای ذخیرهسازی ابری گوگل را انتخاب کنید
- در کادر متن مسیر فایل:
gs://retail-banking-looker/district
- CSV را برای قالب فایل انتخاب کنید
- برای نام جدول، "منطقه" را وارد کنید
- کادر انتخاب مربوط به طرحواره تشخیص خودکار را علامت بزنید
- روی ایجاد جدول کلیک کنید
پرسوجو از مجموعه دادههای عمومی
- در ویرایشگر پرسوجو، پرسوجوی زیر را وارد کنید:
SELECT
CAST(geo_id as STRING) AS zip_code,
total_pop,
median_age,
households,
income_per_capita,
housing_units,
vacant_housing_units_for_sale,
ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
ROUND(SAFE_DIVIDE(bachelors_degree_or_higher_25_64, pop_25_64),4) AS rate_bachelors_degree_or_higher_25_64
FROM
`bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`;
- روی اجرا کلیک کنید
- مشاهده نتایج

- حالا این دادههای عمومی را با یک کوئری دیگر ترکیب میکنیم. کد SQL زیر را در ویرایشگر کوئری وارد کنید:
WITH customer_counts AS (
select regexp_extract(address, "[0-9][0-9][0-9][0-9][0-9]") as zip_code,
count(*) as num_clients
FROM bq_demo.client
GROUP BY zip_code
)
SELECT
CAST(geo_id as STRING) AS zip_code,
total_pop,
median_age,
households,
income_per_capita,
ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
num_clients
FROM
`bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`
JOIN customer_counts on zip_code = geo_id
ORDER BY num_clients DESC
- روی اجرا کلیک کنید
- مشاهده نتایج

۵. مدیریت ظرفیت
کار با اسلاتها و رزروها
BQ مدلهای قیمتگذاری متعددی را برای برآورده کردن نیازهای شما ارائه میدهد. اکثر مشتریان بزرگ در درجه اول از نرخ ثابت برای قیمتگذاری قابل پیشبینی با ظرفیت رزرو شده استفاده میکنند. برای افزایش ظرفیت فراتر از آن ظرفیت پایه، BQ اسلاتهای انعطافپذیر را ارائه میدهد که به شما امکان میدهد در لحظه به ظرفیت اضافی برسید و سپس به طور خودکار و بدون هیچ تأثیری بر اجرای پرسوجوها، ظرفیت را کاهش دهید. BQ همچنین دارای یک مدل اسکن بایت است که به شما امکان میدهد فقط برای پرسوجوهایی که اجرا میکنید هزینه بپردازید.
[ نکته رقابتی: برخی از رقبا منحصراً بر روی یک مدل ظرفیت ثابت کار میکنند که در آن مشتریان باید برای هر بار کاری در سازمان خود یک انبار مجازی اختصاص دهند. علاوه بر یک مدل کمهزینه برای هر پرسوجو که شروع به کار با BigQuery را آسان میکند، ما از یک مدل قیمتگذاری ظرفیت با نرخ ثابت پشتیبانی میکنیم که در آن ظرفیت بیکار میتواند بین مجموعهای از بارهای کاری به اشتراک گذاشته شود. ]
- به برگه رزروها بروید.

- روی «خرید اسلات» کلیک کنید

- به عنوان مدت زمان، "Flex" را انتخاب کنید.
- ۵۰۰ جایگاه انتخاب کنید.
- خرید را تأیید کنید.

- روی مشاهده تعهدات اسلات کلیک کنید.
- روی «ایجاد رزرو» کلیک کنید
- کاربر "دمو" به عنوان نام رزرو
- ایالات متحده را به عنوان مکان انتخاب کنید
- برای اسلاتها عدد ۵۰۰ را تایپ کنید (همه اسلاتها موجود است)
- تکالیف کلیک کنید
- انتخاب پروژه فعلی برای پروژه سازمانی
- برای شناسه رزرو، گزینه «دمو» را انتخاب کنید
- روی ایجاد کلیک کنید."