BigQuery UI Navigation and Data Exploration Codelab

1. مقدمه

BigQuery یک انبار داده بدون سرور، بسیار مقیاس پذیر و مقرون به صرفه است. به سادگی داده های خود را به BigQuery منتقل کنید و به ما اجازه دهید کار سخت را انجام دهیم تا بتوانید روی آنچه واقعاً مهم است، یعنی اداره کسب و کار خود تمرکز کنید. شما می‌توانید دسترسی به پروژه و داده‌های خود را بر اساس نیازهای تجاری خود کنترل کنید، مثلاً به دیگران امکان مشاهده یا جستجوی داده‌های شما را بدهید.

در این آزمایشگاه، امکانات تحلیلی BigQuery را کشف خواهید کرد. با کار با مجموعه داده بانکی خرده‌فروشی، نحوه وارد کردن مجموعه داده را از سطل فضای ذخیره‌سازی Google Cloud و درک رابط کاربری BigQuery یاد خواهید گرفت. علاوه بر این، این آزمایشگاه به شما می‌آموزد که چگونه ویژگی‌های کلیدی را در BigQuery کشف کنید که تجزیه و تحلیل روزانه شما را بسیار آسان‌تر می‌کند، مانند صادرات نتایج پرس و جو در یک صفحه گسترده، مشاهده و اجرای پرس‌و‌جوها از تاریخچه پرس و جو، مشاهده عملکرد پرس و جو، و ایجاد نمای جدول برای برای استفاده توسط سایر تیم ها و بخش ها.

آنچه خواهید آموخت

در این آزمایشگاه می آموزید که چگونه وظایف زیر را انجام دهید:

  • بارگذاری داده های جدید در BigQuery
  • با رابط کاربری BigQuery آشنا شوید
  • اجرای کوئری ها در BigQuery
  • مشاهده عملکرد پرس و جو
  • ایجاد نماها در BigQuery
  • به اشتراک گذاری ایمن مجموعه داده ها با دیگران

2. مقدمه: درک BigQuery UI

در این بخش، نحوه پیمایش در رابط کاربری BigQuery، مشاهده مجموعه داده های موجود و اجرای یک پرس و جو ساده را خواهید آموخت.

در حال بارگیری رابط کاربری BQ

  1. «BigQuery» را که در بالای کنسول Google Cloud Platform قرار دارد تایپ کنید.
  2. BigQuery را از لیست گزینه ها انتخاب کنید. حتما گزینه ای را انتخاب کنید که دارای آرم BigQuery است، ذره بین.

مشاهده مجموعه داده ها و اجرای پرس و جوها

ee95ce13969ee1ad.png

  1. در قسمت سمت چپ در بخش Resource، روی پروژه BigQuery خود کلیک کنید.
  2. روی bq_demo کلیک کنید تا جداول آن مجموعه داده را مشاهده کنید
  3. در کادر تایپ به جستجو، «card» را تایپ کنید تا فهرستی از جداول و مجموعه داده‌ها را ببینید که حاوی «کارت» در نام خود هستند.
  4. جدول "card_transactions" را از لیست نتایج جستجو انتخاب کنید

beb6ff6ca2930125.png

  1. برای مشاهده متادیتای این جدول، روی تب Details در قسمت card_transactions کلیک کنید.
  2. برای مشاهده پیش نمایش جدول روی تب Preview کلیک کنید

[ Petitive Talking Point]: یکپارچه‌سازی با کاتالوگ داده‌های Google به این معنی است که ابرداده BigQuery را می‌توان همراه با سایر منابع داده، مانند دریاچه‌های داده یا منابع داده عملیاتی، مدیریت کرد. این نمونه ای است که نشان می دهد Google Cloud فقط یک انبار داده رابطه ای نیست، بلکه یک پلت فرم کامل داده های تحلیلی است.

  1. برای جستجو در جدول "card_transactions" روی نماد ذره بین کلیک کنید. یک متن تولید شده به صورت خودکار ویرایشگر پرس و جو BigQuery را پر می کند.
  2. کد زیر را وارد کنید تا بازرگانان متمایز از جدول Card_Transactions را به ما نشان دهید
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
  1. برای اجرای پرس و جو روی دکمه Run کلیک کنید.

35113542e7ec6fa6.png

3. ایجاد مجموعه داده ها و به اشتراک گذاری نماها

به اشتراک گذاری داده ها و حاکمیت بسیار مهم است، این را می توان به طور مستقیم در BQ UI انجام داد. در این بخش یاد خواهید گرفت که چگونه یک مجموعه داده جدید ایجاد کنید، آن را با یک view پر کنید و آن مجموعه داده را به اشتراک بگذارید.

مشاهده تاریخچه پرس و جو

  1. روی "Query History" در سمت چپ کنسول GCP کلیک کنید
  2. در قسمت Query History روی refresh کلیک کنید
  3. برای مشاهده نتایج پرس و جو، روی تصویر/پیکان دانلود در سمت راست پرس و جو کلیک کنید.

6e3232ed96f647b8.png

ایجاد یک مجموعه داده جدید

  1. [نام پروژه خود] را در بخش منابع رابط کاربری BigQuery انتخاب کنید.
  2. "ایجاد مجموعه داده جدید" را از پنجره اطلاعات پروژه انتخاب کنید
  3. برای شناسه مجموعه داده:

bq_demo_shared

  1. تمام فیلدهای دیگر را به عنوان پیش فرض بگذارید
  2. روی "ایجاد مجموعه داده" کلیک کنید

b433eba38f55124f.pngdd774aca416e7fbc.png

ایجاد نماها

[ Petitive Talking Point]: BigQuery کاملاً با ANSI SQL سازگار است و از اتصالات چند جدولی ساده و پیچیده و توابع تحلیلی غنی پشتیبانی می کند. ما به طور مداوم پشتیبانی پیشرفته ای را برای انواع داده های SQL و توابع رایج مورد استفاده در انبارهای داده سنتی برای تسهیل فرآیند مهاجرت منتشر کرده ایم.

  1. "نوشتن پرس و جو جدید" را در بالای صفحه ویرایشگر Query انتخاب کنید.
  2. کد زیر را در ویرایشگر کوئری وارد کنید
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;
  1. روی "ذخیره نمایش" کلیک کنید
  2. پروژه فعلی خود را برای نام پروژه انتخاب کنید
  3. مجموعه داده جدید ایجاد شده را انتخاب کنید:

bq_demo_shared

  1. برای نام جدول:

rev_change_by_card_type

  1. روی ذخیره کلیک کنید.

4b111056b544c27d.png

به اشتراک گذاری نماها و مجموعه داده ها

  1. مجموعه داده "bq_demo_shared" را از صفحه منبع سمت چپ در رابط کاربری BigQuery انتخاب کنید.
  2. روی «اشتراک گذاری مجموعه داده» در صفحه اطلاعات مجموعه داده کلیک کنید
  3. یک آدرس ایمیل وارد کنید
  4. "BigQuery Data Viewer" را از منوی کشویی Role انتخاب کنید
  5. روی "افزودن" کلیک کنید
  6. روی Done کلیک کنید

1c04b6b5ebc191dc.png

داده‌ها را در Sheets کاوش کنید

[ Competitive Talking Point]: یکی دیگر از مزایای BigQuery در مقایسه با رقبای خود، BI Engine است. BI Engine را می توان برای بازگرداندن پرس و جوهای خلاصه نوع BI در کمتر از یک ثانیه از طریق موتور کش در حافظه استفاده کرد. این در حال حاضر توسط Google Data Studio پشتیبانی می‌شود، اما به زودی برای تسریع همه درخواست‌ها در BigQuery در دسترس خواهد بود.

به عنوان مثال:

Snowflake برای داشبورد و تجسم داده‌ها به ابزارهای BI شخص ثالث متکی است در حالی که GCP طیف وسیعی از ابزارهای BI یکپارچه از جمله Connected Sheets، Data Studio و Looker را ارائه می‌دهد.

  1. نمای "rev_change_by_card_type" را از پنجره منبع سمت چپ در رابط کاربری BigQuery انتخاب کنید.
  2. برای پرس و جو از نما روی ذره بین کلیک کنید 255be22b0eaf339.png
  3. نوع:

انتخاب *

از bq_demo_shared.rev_change_by_card_type

  1. روی Run کلیک کنید
  2. روی نماد "صادرات" از صفحه نتایج کلیک کنید
  3. «کاوش داده‌ها با برگه‌ها» را انتخاب کنید

9617b522025fd337.png

  1. روی "شروع تجزیه و تحلیل" کلیک کنید
  2. "Pivot Table" را انتخاب کنید
  3. "برگ جدید" را انتخاب کنید
  4. روی "ایجاد" کلیک کنید
  5. در قسمت Row ویرایشگر Pivot Table واقع در سمت راست پنجره Sheets، "revenue_date" را اضافه کنید.
  6. «card_type» را در قسمت ستون ویرایشگر جدول محوری اضافه کنید
  7. "monthly_rev" را در بخش Column ویرایشگر Pivot Table اضافه کنید
  8. روی Apply کلیک کنید

48e67c2e04965796.png

  1. به قسمت بالای رابط کاربر برگه بروید و Insert Chart را انتخاب کنید

4. راه اندازی: یکپارچه سازی داده ها

در این بخش یاد خواهید گرفت که چگونه یک جدول جدید ایجاد کنید و یک JOINS را در یکی از مجموعه داده های عمومی که Google Cloud در دسترس دارد انجام دهید.

[نقطه گفتگوی رقابتی]:

BigQuery سال ها از مجموعه داده های مشترک پشتیبانی می کند. مشتریان در هر پروژه می توانند هم مجموعه داده های عمومی و هم مجموعه داده ها را در پروژه های دیگری که با آنها به اشتراک گذاشته شده است پرس و جو کنند.

BigQuery می‌تواند از طریق استفاده از جداول خارجی از داده‌ها در GCS پشتیبانی کند. علاوه بر بارگذاری انبوه، BigQuery از توانایی انتقال داده ها به پایگاه داده با سرعت بیش از صدها مگابایت در ثانیه پشتیبانی می کند. Snowflake هیچ پشتیبانی برای پخش داده ها ندارد.

وارد کردن داده ها به جدول جدید

  1. در پنجره منابع مجموعه داده bq_demo را انتخاب کنید
  2. در صفحه اطلاعات مجموعه داده، "ایجاد جدول" را انتخاب کنید.
  3. Google Cloud Storage را برای منبع انتخاب کنید
  4. در کادر متنی مسیر فایل:

gs://retail-banking-looker/district

  1. CSV را برای فرمت فایل انتخاب کنید
  2. برای نام جدول "منطقه" را وارد کنید
  3. کادر بررسی طرح تشخیص خودکار را انتخاب کنید
  4. روی ایجاد جدول کلیک کنید

پرس و جو از مجموعه داده های عمومی

  1. در ویرایشگر پرس و جو عبارت زیر را وارد کنید:
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`;
  1. روی Run کلیک کنید
  2. مشاهده نتایج

dff40709db70d75.png

  1. اکنون این داده های عمومی را با یک پرس و جو دیگر ترکیب می کنیم. کد SQL زیر را در ویرایشگر Query وارد کنید:
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
  1. روی Run کلیک کنید
  2. مشاهده نتایج

b853ad571e7a3038.png

5. مدیریت ظرفیت

کار با اسلات و رزرو

BQ چندین مدل قیمت را برای رفع نیازهای شما ارائه می دهد. اکثر مشتریان بزرگ در درجه اول از نرخ ثابت برای قیمت گذاری قابل پیش بینی با ظرفیت رزرو استفاده می کنند. برای فراتر از ظرفیت پایه، BQ اسلات‌های انعطاف‌پذیری را ارائه می‌دهد که به شما امکان می‌دهد در حین پرواز به ظرفیت بیشتری برسید و سپس به‌طور خودکار کوچک‌تر شوید، بدون اینکه تأثیری بر درخواست‌های در حال اجرا داشته باشید. BQ همچنین دارای یک مدل اسکن بایت است که به شما امکان می دهد فقط برای درخواست هایی که اجرا می کنید پرداخت کنید.

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

  1. به برگه رزروها بروید.

964f4ab78d35d067.png

  1. روی "خرید اسلات" کلیک کنید

c8cb5ee61bbea814.png

  1. "Flex" را به عنوان مدت زمان انتخاب کنید.
  2. 500 اسلات را انتخاب کنید.
  3. خرید را تایید کنید

d615f5908dffc1ee.png

  1. روی View Slot Commitments کلیک کنید.
  2. روی "ایجاد رزرو" کلیک کنید
  3. کاربر "دمو" به عنوان نام رزرو
  4. ایالات متحده را به عنوان مکان انتخاب کنید
  5. نوع 500 برای اسلات (همه موجود است)
  6. روی Assignments کلیک کنید
  7. پروژه فعلی را برای پروژه سازمانی انتخاب کنید
  8. برای شناسه رزرو، "دمو" را انتخاب کنید
  9. روی ایجاد کلیک کنید."