יצירת טבלה חיצונית כבחירה (CETAS)

הושלם

יחידה זו מקבלת מבט מקרוב על הפקודה צור טבלה חיצונית כ- SELECT (CETAS) וביתרונות שהיא מספקת.

CETAS תומך ב- Azure Blob Storage, ב- Azure Data Lake Storage, באחסון אובייקטים התואם ל- S3 ובמסדי נתונים חיצוניים. CETAS תומך גם בייצוא תבניות קובץ כקבצי CSV או פרקט.

היכולת החזקה ביותר של CETAS היא לשלב עם פעולות SELECT אחרות, כגון שילוב עם OPENROWSET או עם טבלאות חיצוניות אחרות. שילוב זה מאפשר שימוש ב- CETAS בדרכים שונות וגמישות.

מקרי שימוש עבור CETAS

קיימים מקרי שימוש רבים ושונים עבור CETAS, אך שלושת מקרי השימוש העיקריים הם:

  • דיווח
  • יצירת רמות נתונים או העברת נתונים
  • רכזת ייצוא נתונים

דיווח

מקרה השימוש הברור ביותר עבור CETAS הוא לפשט את הדיווח באמצעות כל היכולות של גמישות PolyBase ו- SQL Server. באפשרותך להתחבר לכל מקור נתונים, טבלה או קובץ נתמכים ולהשתמש ב- T-SQL כדי לטפל בתוצאות ולייצא אותן. לדוגמה, במקום לחבר כלי דיווח ל- SQL Server, באפשרותך להשתמש ב- CETAS כדי לבצע את כל השאילתות הדרושות, לייצא את התוצאה כקובץ פרקט ולהצביע על כלי הדיווח לנתונים המיוצאים.

יצירת רמות נתונים או העברת נתונים

תרחיש נפוץ נוסף הוא ייצוא נתונים בארכיון או נתונים לקריאה בלבד מטבלאות SQL Server לאחסון מרוחק, אך עדיין לבצע שאילתה רגילה באמצעות טבלאות חיצוניות. כך תוכל לשמור רק את הנתונים הפעילים ב- SQL Server ולשמור משאבים, אך עדיין לגשת לנתונים באופן שקוף במידת הצורך. מתוך נקודת מבט של יישום, זה בדיוק כמו גישה לטבלת SQL Server רגילה.

לדוגמה, נניח שהטבלה order מכילה נתונים היסטוריים בשנים האחרונות שאינם משתנים, אך עדיין דרושים לך נתונים אלה כדי להיות נגישים באופן מלא. הפונקציה CETAS יכולה לסייע בייצוא order הנתונים של הטבלה למיקום אחר, תוך צמצום גודל מסד הנתונים ותמיכה של זמן התחזוקה הנדרש. בטבלה חיצונית, הנתונים המיוצאים מתנהגים בדיוק כמו טבלה רגילה.

רכזת ייצוא נתונים

על-ידי שימוש ב- SQL Server 2025 כמרכז נתונים, באפשרותך לשלב את CETAS עם כל היכולות הקיימות של PolyBase, כולל התחברות למקורות נתונים אחרים כגון Oracle, Teradata, ODBC או גירסאות אחרות של SQL Server.

דרישות CETAS

כדי להשתמש ב-CETAS ב-SQL Server 2025, עליך להפוך את המאפיין ALLOW POLYBASE EXPORT לזמין באמצעות sp_configure. לקבלת פרטים, עיין בתרגיל הבא.

הרשאות CETAS

כדי להשתמש ב- CETAS, דרושות לך שלוש רמות הרשאה שונות:

  • הרשאה לגשת למקור הנתונים ולקרוא אותו. אם הנתונים נמצאים מחוץ ל- SQL Server, במיקום משותף ברשת או בשרת מסד נתונים אחר, לחשבון שירות SQL Server חייבת להיות הרשאת גישה למקור הנתונים.

  • הרשאה ב- SQL Server 2025 להשתמש בפקודה CETAS. כדי שמשתמש מסד הנתונים יבצע את הפקודה CETAS, עליו לנהל פעולות בצובר, לשנות כל מקור נתונים חיצוניו- לשנות כל תבנית קובץ חיצונית.

  • הרשאת כתיבה ביעד כדי לכתוב את תוצאות CETAS. כדי שתוכל לכתוב לקובץ היעד, פרקט או CSV, המשתמש זקוק להרשאות כתיבה ביעד. לדוגמה, כדי לכתוב ל- Azure Blob Storage או Azure Data Lake Storage, המשתמש זקוק להרשאות LIST, READ, CREATEו- WRITE ביעדים אלה.

לקבלת מידע נוסף אודות הרשאות עבור CETAS, ראה יצירת טבלה חיצונית כהרשאות SELECT (CETAS).

תבניות נתמכות של CETAS

הפונקציה CETAS מקבלת זרם נתונים, תוך שימוש בפקודה SELECT כקלט, ויוצאת את התוצאות בתבנית CSV או פרקט. הקלט תומך בתבניות זהות לפקודה SELECT, כולל תוצאות OPENROWSET.

הקלט יכול להיות טבלה הפועלת באופן מקומי במופע SQL Server שלך, קובץ רשת שהגישה אליו מתבצעת באמצעות פעולת OPENROWSET, טבלה במערכת מסד נתונים אחרת או קובץ Delta המאוחסן ב- Azure Blob Storage, Azure Data Lake Storage או אחסון אובייקטים תואם S3.

מבנה T-SQL של CETAS

כדי להבין טוב יותר את CETAS, אפשר לפרק את התחביר הכולל של T-SQL. מבנה CETAS T-SQL פועל לפי גישה לוגית מלמטה למעלה. קל יותר להתחיל בסוף המשפט, ואז להתקדם לראש משפט T-SQL.

  • החלק התחתון של מבנה CETAS מכיל פקודת SELECT שבה אתה משתמש כדי להגדיר אילו נתונים לייצא.
  • באמצע, יש פרמטרים אופציונליים שאפשר להשתמש בהם כדי לדחות נתונים שאתה לא רוצה לייצא.
  • בראש פקודת CETAS, לאחר הכרזת CREATE EXTERNAL TABLE, מוסיפים מידע על מיקום היעד, שם הקובץ ופורמט הקובץ.

מבנה זה מאפשר לשלב את CETAS עם כל פקודת SELECT כדי לשאול נתונים מחוץ ל-SQL Server, בתוך SQL Server או מכל מסד נתונים נתמך אחר. SQL Server 2025 יוצר באופן אוטומטי את שם הקובץ ומפצל את התוצאות בקבצים מרובים לצורך מיטוב. לדוגמה, טבלה המיוצאת כספק יכול ליצור כמה קבצים, בהתאם לגודל הנתונים המיוצאים. פקודת הבחירה מגדירה את הגדרת וסוג עמודת הטבלה החיצונית.

ייצוא טבלה מ- SQL Server כסקט

הדוגמה הבאה משתמשת ב- CETAS כדי לייצא טבלה מ- SQL Server בתור פרקט:

CREATE EXTERNAL TABLE ext_sales
WITH (
      LOCATION = '/cetas',
      DATA_SOURCE = s3_eds,
      FILE_FORMAT = ParquetFileFormat
     ) AS
SELECT *
FROM AdventureWorks2025.[Sales].[SalesOrderDetail];

קריאת קובץ Delta וייצוא כסקט

הדוגמה הבאה משתמשת ב- CETAS כדי לקרוא קובץ Delta ולייצא אותו כסוקט:

CREATE EXTERNAL TABLE Delta_to_Parquet
WITH (
        LOCATION = N'/backup/sales',
        DATA_SOURCE = s3_parquet,
        FILE_FORMAT = ParquetFileFormat
      ) AS
SELECT *
FROM OPENROWSET(BULK N'/delta/sales_fy22/',
FORMAT = 'DELTA',
DATA_SOURCE = 's3_delta') AS [r];

בתרגיל הבא, עליך להשתמש ב- CETAS כדי:

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