חיבור Looker (Google Cloud Core)‎ למסד הנתונים

כדי להריץ שאילתות על הנתונים, צריך לקשר את מופע Looker (Google Cloud core) למסד נתונים. במדריך הזה מוסבר איך להשתמש בניבים נתמכים ואיך להגדיר אפשרויות חיבור ספציפיות.

במקרים שבהם נעשה שימוש בחיבורים פרטיים, יכול להיות שתצטרכו לבצע הגדרה נוספת כדי לגשת למסדי נתונים. ההגדרה הספציפית תלויה בהגדרת הרשת של מופע Looker (Google Cloud core) שאיתו אתם עובדים.

הגדרת חיבור למסד נתונים

כדי לבצע ניתוח נתונים, צריך לחבר את Looker (Google Cloud core) למסד נתונים. כאן אפשר לעיין ברשימת הניבים הנתמכים ב-Looker ‏ (Google Cloud Core).

אתם יכולים ליצור חיבור למסד נתונים במופע של Looker (Google Cloud core) אם יש לכם אחת מההרשאות הבאות:

כדי לחבר את מסד הנתונים, אפשר לפעול לפי המדריך הגדרת Looker שמופיע באופן דינמי במופע Looker (Google Cloud core), או לפעול לפי השלבים שמפורטים בדפי התיעוד הספציפיים לניב. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע על שדות נפוצים בחלון הגדרת החיבור ב-Looker זמין בדף התיעוד בנושא חיבור Looker למסד הנתונים.

אם רוצים להגדיר את החיבור של Looker (Google Cloud core) באמצעות אחת מהאפשרויות הבאות, צריך לבצע שלבים נוספים:

שימוש ב-Application Default Credentials כדי להתחבר למסד נתונים של BigQuery

במופעים של Looker (Google Cloud core) אפשר להשתמש ב-Application Default Credentials ‏ (ADC) כדי לבצע אימות כשמגדירים חיבור למסד נתונים של SQL סטנדרטי ב-BigQuery. כשמשתמשים ב-ADC, החיבור מאומת במסד הנתונים באמצעות פרטי הכניסה של חשבון השירות של פרויקט Looker (Google Cloud core).

כדי להשתמש ב-ADC עם מסד נתונים של BigQuery, בוחרים באפשרות Application Default Credentials (פרטי כניסה שמוגדרים כברירת מחדל לאפליקציה) בשדה Authentication (אימות) בדף Connection Settings (הגדרות חיבור) של מופע Looker. ההליך המלא מפורט במאמר בנושא קישור Looker למסד נתונים של BigQuery.

אם מופע Looker (Google Cloud core) שלכם משתמש בטבלאות נגזרות קבועות עם מערך נתונים ב-BigQuery, אתם צריכים גם להעניק לחשבון השירות של Looker את התפקיד עריכת נתונים ב-BigQuery בניהול זהויות וגישה (IAM).

אם אתם מתחברים למסד נתונים של BigQuery שנמצא בפרויקט אחר ממופע Looker (Google Cloud core) שלכם, צריך לבצע הגדרה נוספת. מידע נוסף זמין בקטע שימוש ב-Application Default Credentials עם מסד נתונים של BigQuery ב Google Cloud פרויקט אחר.

התחזות לחשבון שירות

אם רוצים לבצע אימות למסד הנתונים של BigQuery באמצעות חשבון שירות שאינו חשבון השירות של פרויקט Looker (Google Cloud core), אפשר ליצור תהליך בקשה עם הרשאת גישה על ידי הזנת חשבון שירות אחר או שרשרת של חשבונות שירות מופרדים בפסיקים בשדה Impersonated Service Account (חשבון שירות להתחזות). חשבון השירות של Looker (ליבת Google Cloud) משמש אוטומטית כחשבון השירות הראשון בשרשרת, ואין צורך להוסיף אותו לשדה. חשבון השירות האחרון בשרשרת (שנקרא גם חשבון השירות שאליו מתבצעת ההתחזות) הוא זה שמבצע את האימות במסד הנתונים.

כשמשתמשים בהתחזות לחשבון שירות, צריך לבצע את הפעולות הבאות:

שימוש ב-Application Default Credentials עם מסד נתונים של BigQuery בפרויקט Google Cloud אחר

השלבים לשימוש ב-ADC במסד נתונים של SQL סטנדרטי ב-BigQuery שנמצא מחוץ לפרויקט שמארח את מופע Looker (Google Cloud core) זהים לשלבים להגדרת חיבור בתוך אותו פרויקט. עם זאת, לפני שמגדירים את החיבור במופע Looker (Google Cloud core), לחשבון השירות של פרויקט Looker (Google Cloud core) צריכות להיות ההרשאות הבאות ב-IAM:

אם לחשבון השירות של Looker (Google Cloud core) עדיין אין תפקידי IAM בפרויקט שמכיל את מערך הנתונים ב-BigQuery, צריך להשתמש בכתובת האימייל של חשבון השירות כשמעניקים תפקידים בפרויקט הזה. כדי למצוא את כתובת האימייל של חשבון השירות, עוברים לדף IAM במסוף Google Cloud ומסמנים את התיבה Include Google-provided role grants. האימייל יהיה בפורמט service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. משתמשים בכתובת האימייל הזו כדי להקצות את התפקידים המתאימים לחשבון השירות.

אחרי שמקצים את התפקידים המתאימים, פועלים לפי השלבים לשימוש ב-ADC.

עכשיו אפשר להשתמש ב-ADC עם מסד הנתונים הזה של BigQuery SQL סטנדרטי. הפרויקט שמצורף לחשבון השירות שצוין בדף Connection Settings ישמש לחיוב וגם כפרויקט ברירת המחדל.

שימוש ב-Application Default Credentials כדי להתחבר למסד נתונים של Cloud SQL

במופעים של Looker (Google Cloud core) אפשר להשתמש ב-ADC כדי לאמת חיבור למסד נתונים של Cloud SQL (Cloud SQL ל-PostgreSQL או Cloud SQL ל-MySQL). כשמשתמשים ב-ADC כדי לבצע אימות במסד הנתונים של Cloud SQL, הפרויקט Google Cloud שבו מסד הנתונים של Cloud SQL פועל הוא הפרויקט שמחויב על שאילתות Looker.

בחיבורי Looker ל-Cloud SQL שמשתמשים ב-ADC, ‏ ADC מתחזה לחשבון שירות או לשרשרת של חשבונות שירות כדי לגשת למסד הנתונים. כשיוצרים את החיבור של Looker למסד הנתונים, משתמשים בשדה שמות המשתמשים במסד הנתונים של IAM כדי לציין את חשבון השירות או את שרשרת חשבונות השירות ש-ADC יתחזה להם. חשבון השירות של Looker שנוצר אוטומטית כשיוצרים את מופע Looker (ליבת Google Cloud) משמש אוטומטית כחשבון השירות הראשון בשרשרת, ואין צורך להוסיף אותו לשדה.

אם רוצים לבצע אימות למסד הנתונים של Cloud SQL באמצעות חשבון שירות שאינו חשבון השירות של Looker, אפשר ליצור תהליך בקשה עם הרשאת גישה על ידי הזנת חשבון שירות אחר, או שרשרת של חשבונות שירות מופרדים בפסיקים, בשדה שמות המשתמשים במסד הנתונים של IAM.

חשבון השירות האחרון בשרשרת (שנקרא גם חשבון השירות שאליו מתחזים) הוא זה שמבצע אימות במסד הנתונים, וצריך להוסיף את החשבון הזה כמשתמש במסד הנתונים של Cloud SQL. אם אתם משתמשים בחשבון השירות של Looker כחשבון השירות האחרון בשרשרת (על ידי השארת השדה שמות המשתמשים במסד הנתונים של IAM ריק), אתם צריכים להוסיף את חשבון השירות של Looker כמשתמש במסד הנתונים של Cloud SQL.

אלה השלבים הכלליים לחיבור מסד נתונים של Cloud SQL ל-PostgreSQL או Cloud SQL ל-MySQL ל-Looker באמצעות ADC:

  1. מוסיפים את חשבון השירות שבוצעה אליו התחזות למסד הנתונים של Cloud SQL.
  2. הגדרת התחזות לחשבון שירות במסד הנתונים של Cloud SQL.
  3. מתחברים למסד הנתונים כדי להריץ פקודות הגדרה נוספות ל-Cloud SQL ל-PostgreSQL או ל-Cloud SQL ל-MySQL.
  4. יוצרים את הקישור של Looker למסד הנתונים.

הוספת חשבון השירות שבוצעה אליו התחזות למסד הנתונים של Cloud SQL

כשיוצרים את הקישור של Looker למסד הנתונים, משתמשים בשדה שמות משתמשים במסד הנתונים של IAM כדי לציין את חשבון השירות או את שרשרת חשבונות השירות ש-ADC יגלם כדי לבצע פעולות במסד הנתונים. חשבון השירות האחרון בשרשרת ההתחזות נחשב חשבון השירות שבוצעה אליו התחזות.

כדי להשתמש ב-ADC עם Cloud SQL, צריך להוסיף את חשבון השירות שמתחזים אליו למסד הנתונים של Cloud SQL:

  • במקרה ברירת המחדל, אם משאירים את השדה שמות המשתמשים במסד הנתונים של IAM ריק, ADC יתחזה לחשבון השירות של Looker. במקרה הזה, חשבון השירות של Looker הוא חשבון השירות שאליו מתחזים, ולכן צריך להוסיף את חשבון השירות של Looker למסד הנתונים של Cloud SQL. מידע על חשבון השירות של Looker ועל התהליך להצגת כתובת האימייל של חשבון השירות של Looker מופיע במאמר יצירת מופע של Looker (Google Cloud core).
  • אם מציינים חשבון שירות שאינו חשבון השירות של Looker, או אם מציינים שרשרת של חשבונות שירות בשדה שמות המשתמשים במסד הנתונים של IAM, צריך להוסיף את חשבון השירות האחרון בשרשרת ההתחזות למסד הנתונים של Cloud SQL.

כדי להוסיף חשבון שירות למסד הנתונים של Cloud SQL, צריך להיות לכם תפקיד Cloud SQL Admin ב-IAM.

כדי להוסיף את חשבון השירות שמתחזה למשתמש למסד הנתונים של Cloud SQL, מבצעים את השלבים שמתאימים לניב מסד הנתונים שלכם בקטע 'הוספת משתמש IAM או חשבון שירות למכונת מסד הנתונים':

הגדרת התחזות לחשבון שירות במסד הנתונים של Cloud SQL

אחרי שיוצרים את משתמש Cloud SQL במסד הנתונים, צריך להגדיר את מסד הנתונים של Cloud SQL להתחזות לשירות. לשם כך, מבצעים את השלבים הבאים:

  1. פועלים לפי השלבים להפעלת Cloud SQL Admin API.
  2. מוודאים שלכל חשבונות השירות בשרשרת, כולל חשבון השירות של Looker, יש את ההרשאות המתאימות ב-IAM.
  3. פועלים לפי השלבים להקצאת תפקיד יחיד במסוף Google Cloud . מקצים את התפקידים הבאים ב-Cloud SQL לחשבון השירות שנעשה בו שימוש בהתחזות והוספתם למסד הנתונים של Cloud SQL:

    אם מציינים חשבון שירות שאינו חשבון השירות של Looker, או אם מציינים שרשרת של חשבונות שירות בשדה שמות המשתמשים במסד הנתונים של IAM, צריך להעניק לכל חשבון שירות בשרשרת את ההרשאה הבאה:

פקודות הגדרה נוספות ל-Cloud SQL ל-MySQL

ב-Cloud SQL ל-MySQL, צריך להתחבר למכונת מסד הנתונים ולהריץ את הפקודה הבאה במסד הנתונים של Cloud SQL ל-MySQL:

GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'

מחליפים את מה שכתוב בשדות הבאים:

  • ‫DATABASE_NAME: השם של מסד הנתונים.
  • ‫DATABASE_USER: שם המשתמש המקוצר של חשבון השירות שנעשה לו שימוש כזהות של חשבון אחר, שהוספתם למסד הנתונים של Cloud SQL. חשבון השירות יהיה בפורמט service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. לקצר את שם המשתמש על ידי הסרת @ וכל מה שמופיע אחריו. אחרי החיתוך, שם המשתמש ייראה כך: service-<project number>.

לדוגמה, אם שם המשתמש של חשבון השירות הוא service-12345678901@gcp-sa-looker.iam.gserviceaccount.com ושם מסד הנתונים הוא looker-test, הפקודה תהיה:

GRANT ALL on looker-test.* to 'service-12345678901'@'%'

פקודות נוספות להגדרת Cloud SQL ל-PostgreSQL

ב-Cloud SQL ל-PostgreSQL, צריך להתחבר למופע מסד הנתונים ולהריץ כמה פקודות הגדרה במסד הנתונים של Cloud SQL ל-PostgreSQL:

  • נותנים למשתמש הרשאות במסד הנתונים, כמו שמתואר בקטע משתמשים ואבטחה בדף התיעוד של PostgreSQL.
  • מגדירים את נתיב החיפוש של כלי ה-SQL Runner ב-Looker כדי לאחזר מטא-נתונים ממסד הנתונים, כמו שמתואר בקטע הגדרת search_path בדף PostgreSQL במסמכי התיעוד של Looker.

יצירת החיבור מ-Looker (Google Cloud core) למסד הנתונים של Cloud SQL

כדי ליצור את החיבור מ-Looker למסד הנתונים:

  1. בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.
  2. בתפריט הנפתח ניב, בוחרים באפשרות Google Cloud PostgreSQL או, אם משתמשים ב-Cloud SQL ל-MySQL, בוחרים באפשרות Google Cloud SQL.
  3. בקטע אימות, לוחצים על האפשרות Application Default Credentials.
  4. בשדה IAM database username(s) מציינים את חשבון השירות או את שרשרת חשבונות השירות שרוצים ש-ADC יתחזה להם כדי לבצע פעולות במסד הנתונים:

  5. ממלאים את שאר פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף חיבור Looker למסד הנתונים.

  6. כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על הלחצן בדיקת החיבור בקטע פרטי הסטטוס בחלק התחתון של הדף הגדרות החיבורים.

  7. אם ב-Looker מוצגת האפשרות Can Connect (אפשר להתחבר), לוחצים על Connect (התחברות) כדי ליצור את החיבור.

החיבור למסד הנתונים יתווסף לרשימה בדף Connections Admin ב-Looker.

אחרי שמגדירים חיבור למסד נתונים, אפשר להגדיר פרויקט של LookML.

הגדרת אימות OAuth ב-BigQuery

כדי להגדיר אימות OAuth לחיבורים למסד נתונים של BigQuery במופע Looker (Google Cloud core), פועלים לפי השלבים הבאים:

  1. בקטע Authentication (אימות), בוחרים באפשרות OAuth. כברירת מחדל, ב-Looker (Google Cloud core) נעשה שימוש בפרטי הכניסה של אפליקציית OAuth שהאדמין של Looker השתמש בהם כשיצר את מופע Looker (Google Cloud core). לא צריך ליצור או להזין ידנית מזהה לקוח וסוד לקוח.
  2. מוסיפים עוד כתובת URI להפניה אוטומטית לשדה Authorized redirect URIs בלקוח OAuth של המופע (או יוצרים לקוח OAuth חדש עם פרטי הכניסה ומוסיפים כתובת URI להפניה אוטומטית). כתובת ה-URI להפניה אוטומטית חייבת לכלול את כתובת ה-URL של מכונת Looker ואחריה /external_oauth/redirect. מידע נוסף זמין במאמר בנושא יצירת פרטי כניסה של OAuth ל-BigQuery.

אם רוצים להזין באופן ידני פרטי כניסה שונים ל-OAuth עבור החיבור הזה, מפעילים את המתג הגדרה ידנית של פרטי כניסה ל-OAuth וממלאים את השדות מזהה לקוח OAuth וסוד לקוח OAuth. אם תזינו פרטי כניסה של OAuth באופן ידני, הם לא ישתנו או יתעדכנו בפרטי הכניסה ששימשו ליצירת מופע Looker (Google Cloud core). כדי ליצור ולהשתמש בסוגים שונים של פרטי כניסה, פועלים לפי השלבים במאמר הגדרת פרויקט של מסד נתונים ב-BigQuery ל-OAuth.

ניבים נתמכים ב-Looker (Google Cloud Core)‎

בטבלה הבאה מפורטת התמיכה של Looker ‏ (Google Cloud Core) בשפות שונות של מסדי נתונים:

דיאלקט נתמך?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
ClickHouse 26+
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Dremio 26+ with Arrow Flight SQL
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MongoSQL
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

הוראות להגדרת מסד נתונים

הוראות זמינות עבור הניבים הבאים של SQL:

המאמרים הבאים