שילוב של Spark ו-Hive עם קטלוג זמן הריצה של Lakehouse מבטל את התקורה התפעולית של תחזוקת Hive Metastore (HMS) באירוח עצמי, ומאפשר שיתוף מאוחד של מטא-נתונים ושאילתות ישירות בטבלאות ב-BigQuery.
במסמך הזה מפורטים האילוצים הפונקציונליים והשיקולים לגבי השירות שקשורים לשילוב הזה. לפני שמעבירים או בונים את צינורות הנתונים של מסד הנתונים בקוד פתוח בקטלוג של Lakehouse runtime, כדאי לעיין במגבלות האלה כדי להבין אם גרסת הטרום-השקה הזו מתאימה לדרישות הטכניות שלכם.
אם אתם מחפשים הוראות להגדרה ולשאילתות במקום מגבלות, כדאי לעיין במאמר שימוש ב-Spark וב-Hive עם קטלוג זמן הריצה של Lakehouse.
מגבלות על קטלוג זמן הריצה של Lakehouse
בקטע הזה מפורטות ההגבלות על השימוש בקטלוג של Lakehouse runtime עם שירותים שונים.
מגבלות של Metastore
- Managed Service for Apache Spark תומך רק במשימות PySpark עם Lakehouse Metastore ללא גבולות.
- Dataproc API לא תומך בהגדרת מאפיינים של Lakehouse Metastore בשדה
properties. - אי אפשר ליצור אשכולות של Managed Service for Apache Spark שמשתמשים ב-Kerberos, כי קטלוג זמן הריצה של Lakehouse לא תומך באסימון העברה או בממשקי API של מפתח ראשי.
- מסדי נתונים וטבלאות יכולים להשתמש ב-Cloud Storage
location_uriששונה מקטלוג Hive שלהם, כל עוד קטגוריה של Cloud Storage נמצאת באותו אזור כמו קטלוג Hive. - קטלוג Hive לא יכול להכיל מרחבי שמות וטבלאות של Iceberg. כדי ליצור מרחבי שמות וטבלאות של Iceberg ולהשתמש בהם, צריך להשתמש בקטלוג של Lakehouse runtime.
מגבלות על טבלאות
- אין תמיכה בשינוי שם של טבלה.
- אין תמיכה בשינוי השם של מחיצה.
- מחיקה של טבלאות או מסדי נתונים לא מסירה קבצים משויכים מ-Cloud Storage.
- אין תמיכה בחיפוש לא תלוי-רישיות.
- אין תמיכה באשכולות ובחלוקה לקטגוריות.
- אין תמיכה בתצוגות טבלה.
גודל אצווה של מחיצה
קטלוג זמן הריצה של Lakehouse תומך באחסון ובאחזור של מידע על חלוקה למחיצות לשימוש בגיזום מחיצות. הוא מותאם לקריאות ולא לכתיבות, ולכן ביצועי השאילתות מהירים יותר בזכות הסרת מחיצות.
כדי לשפר את ביצועי ההטמעה של מחיצות, גודל המחיצה של אצווה מוגבל ל-900.
מגדירים את ההגדרה הבאה למאפייני Hive ו-Spark שקובעים את גודל האצווה של פעולות חלוקה למחיצות:
SET hive.msck.repair.batch.size = 900;SET spark.sql.addPartitionInBatch.size = 900;
מגבלות של BigQuery
- כברירת מחדל, BigQuery לא תומך בסוגי הנתונים
ARRAY<ARRAY<>>אוARRAY<MAP<>>. צריך להוסיף תמיכה ב-MAPלרשימת ההיתרים. אם אתם משתמשים ב-MAPבעומסי העבודה שלכם באופן נרחב, אתם יכולים לפנות לכתובת biglake-help@google.com. - סוגי מפתחות
MAPתומכים רק בסוגי נתונים פרימיטיביים. אי אפשר להשתמש ב-ARRAY,STRUCTאו ב-MAPכסוגי מפתחות. - במהלך התצוגה המקדימה, BigQuery יכול לשלוח שאילתות רק לנתונים מ-Cloud Storage. יש לשים לב למגבלות הבאות:
- כתובות ה-URI של מיקומי הטבלאות לא יכולות לכלול תו כללי לחיפוש (
*). - כתובות ה-URI של מיקומי הטבלאות חייבות להיות ספריות.
- כתובות ה-URI של מיקומי הטבלאות לא יכולות לכלול תו כללי לחיפוש (
מגבלות על רפליקציה בין אזורים ותוכנית התאוששות מאסון (DR)
קטלוג זמן הריצה של Lakehouse מציע שכפול בין אזורים ותוכנית התאוששות מאסון (DR) כדי לשפר את הזמינות והחוסן (resilience) של הקטלוג.
כשמשתמשים בקטלוג של Lakehouse runtime עם קטלוגים של Hive, חלות המגבלות הבאות:
קטלוגים של Hive לא מספקים יכולות מלאות של התאוששות מאסון, כמו מעבר לגיבוי חלופי שהמשתמש מפעיל.
כשיוצרים קטלוג Hive, צריך להגדיר את
primary_locationכך שיתאים לאזור של קטגוריית Cloud Storage. לאחר מכן, קטלוג זמן הריצה של Lakehouse מעתיק באופן אוטומטי את המטא-נתונים לאזור משני על סמך ההגדרה של הדלי בשני אזורים או במספר אזורים. עותק המטא-נתונים המשני הוא לקריאה בלבד, ואי אפשר להפוך אותו לעותק ראשי. יתירות הנתונים מתבססת על ההגדרות של הדלי בשני אזורים או בכמה אזורים, והיא נפרדת משכפול המטא-נתונים של קטלוג זמן הריצה של Lakehouse.
שיקולים לשימוש בקטלוג של Lakehouse runtime כתחליף ל-Hive metastore
גרסת התצוגה המקדימה של קטלוג זמן הריצה של Lakehouse תומכת בחלק מממשק Hive Metastore. העיצוב הזה נותן עדיפות לתאימות ל-Spark ExternalCatalog, שלא נדרשת תאימות מלאה ל-Hive Metastore.
מיפוי משאבים
בטבלה הבאה מפורטים המשאבים של Hive Metastore, המשאבים של קטלוג זמן הריצה של Lakehouse וההרשאות הנדרשות של ניהול זהויות והרשאות גישה (IAM).
| משאב Hive Metastore | משאב קטלוג בזמן ריצה של Lakehouse | הרשאת IAM |
|---|---|---|
| קטלוג | קטלוג | biglake.catalogs.* |
| מסד נתונים | מסד נתונים | biglake.namespaces.* |
| טבלה | טבלה | biglake.tables.* |
פיקוח
Hive Metastore (HMS) מספק ניהול ברמות הטבלה, העמודה והמחיצה. קטלוג זמן הריצה של Lakehouse מספק הרשאות IAM ברמת הטבלה וברמת המחיצה. אין תמיכה בניהול גישה ברמת העמודה.
מגבלות אחסון
- כל המגבלות של טבלאות חיצוניות ב-BigQuery חלות.
מגבלות על מחיצות
- אי אפשר לעקוב אחרי נתונים סטטיסטיים ברמת העמודה ברמת המחיצה.
- מגבלות ה-API של
BatchCreateHivePartitionsמאפשרות עד 900 קריאות למחיצות.