1. مقدمة
BigQuery هو مستودع بيانات بدون خادم وقابل للتوسع بشكل كبير وفعّال من حيث التكلفة. ما عليك سوى نقل بياناتك إلى BigQuery، والسماح لنا بالتعامل مع العمل الشاق حتى تتمكّن من التركيز على ما يهم حقًا، وهو إدارة نشاطك التجاري. يمكنك التحكّم في إمكانية الوصول إلى كلّ من المشروع وبياناتك استنادًا إلى احتياجات نشاطك التجاري، مثل منح الآخرين إمكانية الاطّلاع على بياناتك أو إجراء طلبات بحث عنها.
سوف تكتشف في هذا التمرين المعملي الاحتمالات التحليلية لـ BigQuery. ستتعرّف على كيفية استيراد مجموعة بيانات من حزمة Google Cloud Storage وفهم واجهة مستخدم BigQuery من خلال العمل مع مجموعة بيانات "الخدمات المصرفية للبيع بالتجزئة". بالإضافة إلى ذلك، ستُعلّمك هذه الميزة الاختبارية كيفية الكشف عن الميزات الأساسية في BigQuery التي تجعل الإحصاءات اليومية أسهل بكثير، مثل تصدير نتائج طلبات البحث في جدول بيانات، وعرض الطلبات وتشغيلها من سجلّ طلبات البحث، وعرض أداء الطلبات، وإنشاء طرق عرض في الجدول لتستخدمها فِرق وأقسام أخرى.
ما سوف تتعلمه
في هذه الميزة الاختبارية، ستتعرّف على كيفية تنفيذ المهام التالية:
- تحميل بيانات جديدة في BigQuery
- التعرف على واجهة مستخدم BigQuery
- إجراء الاستعلامات في BigQuery
- عرض أداء طلبات البحث
- إنشاء طرق عرض في BigQuery
- مشاركة مجموعات البيانات مع الآخرين بأمان
2. مقدمة: فهم واجهة مستخدم BigQuery
ستتعلم في هذا القسم كيفية التنقل في واجهة مستخدم BigQuery وعرض مجموعات البيانات المتاحة وتشغيل استعلام بسيط.
جارٍ تحميل واجهة مستخدم BQ
- الكتابة في BigQuery في أعلى وحدة تحكُّم Google Cloud Platform.
- حدد BigQuery من قائمة الخيارات. تأكد من تحديد الخيار الذي يحتوي على شعار BigQuery، والعدسة المكبرة.
عرض مجموعات البيانات وطلبات البحث قيد التشغيل
- في الجزء الأيمن في قسم "Resource" (المورد)، انقر على مشروع BigQuery.
- انقر على
bq_demo
لعرض الجداول في مجموعة البيانات هذه. - كتابة "بطاقة" في مربّع "الكتابة للبحث" للاطّلاع على قائمة بالجداول ومجموعات البيانات التي تحتوي على كلمة "card" باسمها.
- اختَر "card_transactions". جدول من قائمة نتائج البحث
- انقر على علامة التبويب "Details" (التفاصيل) ضمن لوحة "
card_transactions
" لعرض البيانات الوصفية لهذا الجدول. - انقر على علامة التبويب "معاينة" للاطلاع على معاينة للجدول
[نقطة الحوار التنافسية]: يعني الدمج مع "كتالوج بيانات Google" أنّه يمكن إدارة بيانات BigQuery الوصفية إلى جانب مصادر البيانات الأخرى، مثل مستودعات البيانات أو مصادر البيانات التشغيلية. وهذا مثال واحد يوضّح أنّ Google Cloud ليست مجرّد مستودع بيانات ارتباطية، بل هي منصة بيانات تحليلية كاملة.
- انقر على رمز العدسة المكبِّرة لطلب البحث عن "card_transactions". المؤقت. ستتم تعبئة محرِّر طلبات بحث BigQuery بنص يتم إنشاؤه تلقائيًا.
- أدخِل الرمز أدناه لتوضّح لنا تجّارًا مختلفين من جدول Card_transactions.
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
- انقر فوق الزر "Run" (تشغيل) لتشغيل الاستعلام.
3- إنشاء مجموعات البيانات ومشاركة طرق العرض
تُعد مشاركة البيانات والحوكمة أمرًا بالغ الأهمية، ويمكن إجراء ذلك بشكل حدسي في واجهة مستخدم BQ. ستتعلم في هذا القسم كيفية إنشاء مجموعة بيانات جديدة، وتعبئتها بطريقة عرض، ومشاركة مجموعة البيانات هذه.
عرض سجلّ طلبات البحث
- انقر فوق "Query History" (سجل الاستعلام) في الجزء الأيمن من وحدة تحكُّم Google Cloud Platform
- انقر فوق "تحديث" في جزء "محفوظات الاستعلام"
- انقر على تنزيل الصورة/السهم في أقصى يسار طلب البحث لعرض نتائجه.
إنشاء مجموعة بيانات جديدة
- اختر [اسم مشروعك] في جزء الموارد من واجهة مستخدم BigQuery.
- تحديد "إنشاء مجموعة بيانات جديدة" من جزء معلومات المشروع
- بالنسبة إلى معرّف مجموعة البيانات:
bq_demo_shared
- إبقاء كل الحقول الأخرى كالإعدادات التلقائية
- انقر فوق "إنشاء مجموعة بيانات"
إنشاء طرق العرض
[المناقشة التنافسية]: يتوافق BigQuery تمامًا مع لغة SQL (لغة الاستعلام البنيوية) للمواصفات الفنية ANSI، ويتوافق مع عمليات دمج الجداول المتعددة البسيطة والمعقدة، بالإضافة إلى الوظائف التحليلية الغنية. وقد أصدرنا باستمرار دعمًا مُحسَّنًا لأنواع بيانات SQL الشائعة ووظائفها المستخدَمة في مستودعات البيانات التقليدية لتسهيل عملية نقل البيانات.
- حدد "Compose New Query" (إنشاء استعلام جديد) في الجزء العلوي من جزء "محرر الاستعلام".
- أدخل التعليمة البرمجية التالية في محرر طلبات البحث
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
- بالنسبة إلى اسم الجدول:
rev_change_by_card_type
- النقر على "حفظ"
مشاركة الملفات الشخصية ومجموعات البيانات
- اختَر "bq_demo_shared" مجموعة البيانات من جزء المورد الأيمن في واجهة مستخدم BigQuery.
- انقر فوق "Share Dataset" من جزء معلومات مجموعة البيانات
- إدخال عنوان بريد إلكتروني
- اختيار "عارِض بيانات في BigQuery" من القائمة المنسدلة "الدور"
- انقر على "إضافة"
- انقر فوق "Done" (تم).
استكشاف البيانات في "جداول بيانات Google"
[المناقشة التنافسية]: إنّ أداة BI Engine هي من المزايا الأخرى التي توفّرها أداة BigQuery مقارنةً بمنافسيها. يمكن استخدام BI Engine لإظهار طلبات البحث عن ملخص من نوع ذكاء الأعمال في أقل من ثانية من خلال محرك التخزين المؤقت داخل الذاكرة. تتوفّر هذه الميزة حاليًا في "مركز البيانات من Google"، ولكنّها ستصبح متاحة قريبًا لتسريع جميع طلبات البحث في BigQuery.
على سبيل المثال:
يعتمد تطبيق Snowflake على أدوات ذكاء الأعمال التابعة لجهات خارجية من أجل عرض لوحات البيانات وعرض البيانات مرئيًا، بينما يوفّر Google Cloud Platform مجموعة من أدوات ذكاء الأعمال المدمجة، بما في ذلك "أوراق البيانات المرتبطة" و"مركز البيانات" وLooker.
- اختَر "rev_change_by_card_type" عرض من جزء المورد الأيمن في واجهة مستخدم BigQuery.
- انقر على العدسة المكبرة للاستعلام عن العرض
- النوع:
SELECT *
من bq_demo_shared.rev_change_by_card_type
- انقر على "تشغيل"
- انقر على "تصدير" رمز من "لوحة النتائج"
- اختيار "استكشاف البيانات باستخدام "جداول بيانات Google"
- انقر على "بدء التحليل"
- حدد "الجدول المحوري"
- حدد "ورقة جديدة"
- انقر على "إنشاء"
- إضافة "revenue_date" ضمن قسم الصف في محرر الجدول المحوري الموجود على يمين نافذة "جداول البيانات"
- إضافة "card_type" ضمن قسم الأعمدة في محرر الجدول المحوري
- إضافة "month_rev" ضمن قسم الأعمدة في محرر الجدول المحوري
- النقر على "تطبيق"
- انتقل إلى أعلى رتبة من واجهة مستخدم جداول البيانات وحدد "Insert Chart" (إدراج مخطط)
4. الإعداد: دمج البيانات
في هذا القسم، ستتعلم كيفية إنشاء جدول جديد وإجراء JOINS على إحدى مجموعات البيانات العامة العديدة التي توفرها Google Cloud.
[نقطة الحوار التنافسية]:
توفِّر أداة BigQuery مجموعات البيانات المشترَكة لسنوات. يمكن للعملاء في أي مشروع الاستعلام عن كل من مجموعات البيانات العامة ومجموعات البيانات في المشاريع الأخرى التي تمت مشاركتها معهم.
يمكن لأداة BigQuery إتاحة استخدام مستودعات البيانات في GCS من خلال استخدام جداول خارجية. بالإضافة إلى التحميل المجمّع، يدعم BigQuery القدرة على دفق البيانات في قاعدة البيانات بمعدلات تصل إلى مئات الميغابايت في الثانية. لا تتوافق Snowflake مع ميزة بث البيانات.
استيراد البيانات إلى جدول جديد
- في جزء الموارد، حدد مجموعة بيانات bq_demo
- في جزء معلومات مجموعة البيانات، حدد "Create Table" (إنشاء جدول)
- اختيار Google Cloud Storage للمصدر
- في مربع نص مسار الملف:
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
- انقر على "تشغيل"
- عرض النتائج
5- إدارة الإمكانات
التعامل مع الخانات والحجوزات
توفّر BQ نماذج أسعار متعددة لتلبية احتياجاتك. يستفيد معظم العملاء الكبار في المقام الأول من السعر الثابت مقابل الحصول على أسعار يمكن توقّعها بسعة تخزين محجوزة. ولتجاوز حدود السعة الأساسية، توفّر BQ خانات مرنة تتيح لك زيادة سعة التخزين بسرعة، ثم تقليصها مرة أخرى بدون أي تأثير على طلبات البحث الجارية. تمتلك BQ أيضًا نموذج فحص البايت الذي يتيح لك الدفع مقابل طلبات البحث التي تجريها فقط.
[المناقشة التنافسية: يعمل بعض المنافسين بشكل حصري على نموذج سعة ثابتة، حيث على العملاء تخصيص مستودع افتراضي لكل أعباء عمل في المؤسسة. بالإضافة إلى نموذج منخفض التكلفة لكل طلب بحث يسهّل بدء استخدام BigQuery، نتيح استخدام نموذج تسعير سعة التخزين بالسعر الثابت حيث يمكن مشاركة السعة غير النشطة مع مجموعة من أعباء العمل.]
- انتقِل إلى علامة التبويب "الحجوزات".
- انقر على "شراء خانات"
- اختَر "مرونة" كمدة.
- اختَر 500 خانة.
- أكِّد عملية الشراء.
- انقر على "عرض اشتراكات الشريحة".
- انقر على "إنشاء حجز"
- "عرض توضيحي" للمستخدم كاسم الحجز
- اختَر الولايات المتحدة كموقع جغرافي.
- اكتب 500 للخانات (جميعها متاحة)
- النقر على "المهام الدراسية"
- اختيار المشروع الحالي لمشروع المؤسسة
- اختيار "عرض توضيحي" لرقم تعريف الحجز
- انقر فوق إنشاء".