Amazon Athena

‫Looker תומך בחיבורים ל-Amazon Athena, שירות שאילתות אינטראקטיבי שמאפשר לנתח נתונים ב-Amazon S3 באמצעות SQL סטנדרטי. ‫Amazon Athena הוא שירות ללא שרת (serverless), כך שאין תשתית שצריך לנהל. החיוב מתבצע רק על השאילתות שמופעלות.

הצפנת התנועה ברשת

מומלץ להצפין את תעבורת הנתונים ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף התיעוד הפעלת גישה מאובטחת למסד נתונים.

הגדרת חיבור ל-Amazon Athena

בדף הזה מוסבר איך לחבר את Looker למופע של Amazon Athena.

  1. ודאו שיש לכם:

    • זוג מפתחות גישה של Amazon AWS.
    • קטגוריית S3 שמכילה את הנתונים שרוצים לשלוח אליהם שאילתות ב-Looker באמצעות Amazon Athena. למפתחות הגישה של Amazon AWS צריכה להיות הרשאת קריאה וכתיבה לקטגוריה הזו.

      ל-Amazon Athena צריכה להיות גישה לקטגוריית S3 הזו באמצעות תפקיד או קבוצת הרשאות, וגם באמצעות כללי חומת אש. אל תוסיפו כללי אבטחה לקטגוריית S3 עבור כתובת ה-IP של Looker, כי זה עלול לחסום בטעות את הגישה של Amazon Athena לקטגוריית S3. (בניבים אחרים מלבד Amazon Athena, יכול להיות שהמשתמשים ירצו להגביל את הגישה לנתונים משכבת הרשת באמצעות רשימת היתרים של כתובות IP, כפי שמתואר בדף התיעוד הפעלת גישה מאובטחת למסד נתונים).

    • אתם צריכים לדעת איפה נמצאים הנתונים של המכונה של Amazon Athena. שם האזור מופיע בחלק השמאלי העליון של מסוף Amazon.

  2. בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.

  3. ממלאים את פרטי החיבור:

    • שם: מציינים את שם החיבור. כך תתייחסו לחיבור בפרויקטים של LookML.
    • ‫Dialect (ניב): בוחרים באפשרות Amazon Athena.
    • מארח ויציאה: מציינים את שם המארח והיציאה, כפי שמתואר במסמכי התיעוד של Athena לגבי פורמט כתובת ה-URL של JDBC. המארח צריך להיות נקודת קצה חוקית של אמזון (כמו athena.eu-west-1.amazonaws.com), והיציאה צריכה להישאר 443. בדף הזה מופיעה רשימה עדכנית של נקודות קצה שתומכות ב-Athena.
    • מסד נתונים: מציינים את מסד הנתונים שרוצים ליצור לו מודל כברירת מחדל. אפשר לגשת למסדי נתונים אחרים, אבל Looker מתייחס למסד הנתונים הזה כברירת המחדל.
    • שם משתמש: מציינים את מזהה מפתח הגישה של AWS.
    • ‫Password: מזינים את מפתח הגישה הסודי ל-AWS.
    • הפעלת טבלאות נגזרות מתמידות (PDT): משתמשים במתג הזה כדי להפעיל טבלאות נגזרות מתמידות (PDT). כשמפעילים את ה-PDT, מופיעים שדות נוספים של PDT והקטע PDT Overrides של החיבור.
    • ‫Temp Database (מסד נתונים זמני): מציינים את השם של ספריית הפלט בקטגוריית S3 שבה רוצים ש-Looker יכתוב את טבלאות ה-PDT. צריך לציין את הנתיב המלא לספריית הפלט בשדה Additional JDBC parameters. מידע נוסף זמין בקטע ציון קטגוריית S3 לפלט של תוצאות השאילתות ול-PDT בדף הזה.
    • מספר החיבורים המקסימלי של כלי ליצירת PDT: מציינים את מספר האפשרויות האפשריות ליצירת PDT בו-זמנית בחיבור הזה. הגדרת ערך גבוה מדי עלולה להשפיע לרעה על זמני השאילתות. מידע נוסף זמין בדף התיעוד בנושא חיבור Looker למסד הנתונים.
    • ‫Additional JDBC parameters: פרמטרים נוספים לחיבור:
      • הפרמטר s3_staging_dir הוא קטגוריית S3 שבה Looker צריך להשתמש לפלט של תוצאות השאילתות ול-PDT. מידע נוסף זמין בקטע ציון קטגוריית S3 לפלט של תוצאות השאילתות ול-PDT בדף הזה.
      • דיווח על תוצאות הסטרימינג. אם המדיניות athena:GetQueryResultsStream מצורפת למשתמש Athena, אפשר להוסיף את ;UseResultsetStreaming=1 לסוף הפרמטרים הנוספים של JDBC כדי לשפר משמעותית את הביצועים של חילוץ קבוצת תוצאות גדולה. כברירת מחדל, הפרמטר הזה מוגדר כ-0.
      • פרמטרים אופציונליים נוספים שאפשר להוסיף למחרוזת החיבור של JDBC. בקטע פרמטרים נתמכים של JDBC שבדף הזה מפורטים הפרמטרים שנתמכים ב-Looker.
    • ‫SSL: אין צורך להתייחס. כברירת מחדל, כל החיבורים ל-AWS API מוצפנים.
    • ‫Max connections per node: ערך ברירת המחדל הוא 5. אם Looker הוא מנוע השאילתות הראשי שפועל מול Athena, אפשר להגדיל את המספר הזה עד ל-20. פרטים נוספים על מגבלות השירות זמינים במאמרי העזרה בנושא מגבלות השירות של Athena. מידע נוסף זמין בדף חיבור Looker למסד הנתונים.
    • ‫Connection Pool Timeout: הזמן הקצוב לתפוגה של מאגר החיבורים. כברירת מחדל, הזמן הקצוב לתפוגה מוגדר ל-120 שניות. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.
    • SQL Runner Precache (טעינה מראש של SQL Runner): מבטלים את הסימון של האפשרות הזו אם אתם מעדיפים ש-SQL Runner יטען את פרטי הטבלה רק כשבוחרים טבלה. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.
    • אזור הזמן של מסד הנתונים: מציינים את אזור הזמן שבו משתמשים במסד הנתונים. אם אתם לא רוצים להמיר את אזור הזמן, השאירו את השדה הזה ריק. מידע נוסף זמין בדף התיעוד בנושא שימוש בהגדרות אזור הזמן.

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

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

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

הגדרת קטגוריית S3 לפלט של תוצאות שאילתות ול-PDT

בשדה Additional JDBC parameters בדף Connections, מגדירים את הנתיב לקטגוריית S3 שבה Looker ישתמש כדי לאחסן את הפלט של תוצאות השאילתות, ומציינים את שם ספריית הפלט בקטגוריית S3 שבה רוצים ש-Looker יכתוב טבלאות PDT. מציינים את המידע הזה באמצעות הפרמטר s3_staging_dir.

הפרמטר s3_staging_dir של JDBC הוא דרך חלופית להגדיר את המאפיין S3OutputLocation של Amazon Athena, שנדרש לחיבורי JDBC של Athena. מידע נוסף ורשימה של כל האפשרויות הזמינות של מנהלי התקנים של JDBC זמינים במאמרי העזרה של Athena בנושא אפשרויות של מנהלי התקנים של JDBC.

בשדה Additional JDBC parameters, מציינים את הפרמטר s3_staging_dir בפורמט הבא:

`s3_staging_dir=s3://<s3-bucket>/<output-path>`

כאשר:

  • ‫<s3-bucket> הוא השם של קטגוריית S3.
  • ‫<output-path> הוא הנתיב שבו Looker יכתוב את הפלט של תוצאות השאילתה.

לזוג מפתחות הגישה של AWS צריכות להיות הרשאות כתיבה בספרייה <s3-bucket>.

כדי להגדיר את הספרייה שבה Looker יכתוב PDT, מזינים את הנתיב של הספרייה בקטגוריית S3 בשדה Temp Database. לדוגמה, אם רוצים ש-Looker יכתוב טבלאות PDT ב-s3://<s3-bucket>/looker_scratch, מזינים את הערך הבא בשדה Temp Database:

`looker_scratch`

מזינים רק את הנתיב של הספרייה. ‫Looker מקבל את השם של קטגוריית S3 מהפרמטר s3_staging_dir שאתם מזינים בשדה Additional JDBC Parameters.

שיקולים לגבי קטגוריות S3

מומלץ להגדיר מחזורי חיים של אובייקטים ב-Amazon S3 כדי לנקות מדי פעם קבצים מיותרים בקטגוריית S3 שציינתם. יש לכך כמה סיבות:

  • ‫Athena שומרת את תוצאות השאילתות לכל שאילתה בקטגוריית S3. שאילתות ב-Athena
  • אם הפעלתם טבלאות PDT, כשנוצרת טבלת PDT, המטא-נתונים של הטבלה שנוצרה נשמרים בקטגוריית S3.

משאבים

פרמטרים נתמכים של JDBC

ב-Amazon Athena, ‏Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במאמרי העזרה של מסד הנתונים.

  • ApplicationName
  • AwsCredentialsProviderArguments
  • AwsCredentialsProviderClass
  • AwsRegion
  • Catalog
  • Database
  • EnableResultReuseByAge
  • EndPointOverride
  • LogLevel
  • MaxQueryExecutionPollingInterval
  • maxResultReuseAgeInMinutes
  • MetadataRetrievalMethod
  • MinQueryExecutionPollingInterval
  • OutputLocation
  • password
  • ‫ProxyHost: במכונות ציבוריות של Looker, הערך של הפרמטר ProxyHost חייב להיות כתובת ה-IP הציבורית של המכונה.
  • ProxyPort
  • ProxyPWD
  • ProxyUID
  • QueryExecutionPollingIntervalMultiplier
  • Region
  • ResultFetcher
  • ResultReuseByAgeConfiguration
  • s3_staging_dir
  • S3OutputEncOption
  • S3OutputLocation
  • Schema
  • user
  • UseResultsetStreaming
  • WorkGroup

תמיכה בתכונות

כדי ש-Looker יתמוך בתכונות מסוימות, הניב של מסד הנתונים צריך לתמוך בהן גם כן.

החל מגרסה 26.20 של Looker, ‏Amazon Athena תומכת בתכונות הבאות:

תכונה נתמך?
Looker (Google Cloud core)‎
צבירה סימטרית
טבלאות נגזרות
טבלאות נגזרות מתמידות שמבוססות על SQL
טבלאות נגזרות מתמידות מבוססות LookML
תצוגות יציבות
ביטול שאילתות
טבלאות ציר שמבוססות על SQL
אזורי זמן
SSL
סיכומי ביניים
פרמטרים נוספים של JDBC
תלוי אותיות רישיות
סוג מיקום
סוג הרשימה
מאון
אחוזון ייחודי
SQL Runner Show Processes
‫SQL Runner Describe Table
SQL Runner Show Indexes
‫SQL Runner Select 10
ספירת SQL Runner
הסבר על SQL
פרטי כניסה של OAuth 2.0
הערות להוספת הקשר
איגום חיבורים
HLL sketches
מודעות מצטברת
טבלאות PDT מצטברות
אלפיות השנייה
מיקרו-שניות
תצוגות מהותיות
מדדים של השוואה בין תקופות שונות
ספירה משוערת של ערכים ייחודיים
מודלים של ניתוח נתונים במסד הנתונים
יומנים בהתאמה אישית

השלבים הבאים

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