Megosztás a következőn keresztül:


Külső táblák létrehozása és módosítása az Azure Storage-ban

A cikkben szereplő parancsokkal létrehozhat vagy módosíthat egy delta külső táblát abban az adatbázisban, amelyből a parancsot végrehajtják. A különbözeti külső tábla az Azure Blob Storage, az Azure Data Lake Store Gen1 vagy az Azure Data Lake Store Gen2-ben található Delta Lake-táblaadatokra hivatkozik.

Megjegyzés

Ha a tábla létezik, a .create parancs hiba miatt meghiúsul. Meglévő táblák használata .create-or-alter vagy .alter módosítása.

Engedélyek

Ehhez .create legalább adatbázis-felhasználói engedélyekre van szükség, és .alter legalább table Rendszergazda engedélyekre van szükség.

A felügyelt identitáshitelesítést használó külső táblákhoz .create-or-alterAllDatabasesAdmin engedély szükséges.

Syntax

(.create.alter | | .create-or-alter) externaltableTableName [(Séma)] kind(=deltaStorageConnectionString) [with(Tulajdonság [, ...])]

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
TableName string ✔️ Az entitásnevek szabályainak megfelelő külső táblanév. A külső táblák neve nem lehet ugyanaz, mint egy normál tábla ugyanabban az adatbázisban.
Séma string A választható külső adatséma egy vagy több oszlopnév és adattípus vesszővel tagolt listája, ahol minden elem a következő formátumot követi: ColumnName:ColumnType. Ha nincs megadva, a rendszer automatikusan kikövetkezteti a különbözeti naplóból a deltatábla legújabb verziója alapján.
StorageConnectionString string ✔️ delta table root mappa elérési útja, beleértve a hitelesítő adatokat is. Mutathat Azure Blob Storage blobtárolóra, az Azure Data Lake Gen 2 fájlrendszerre vagy az Azure Data Lake Gen 1 tárolóra. A külső táblatároló típusát a megadott kapcsolati karakterlánc határozza meg. Lásd: Tárkapcsolati sztringek.
Tulajdonság string Kulcs-érték tulajdonságpár PropertyName=TulajdonságÉrték formátumban. Tekintse meg az opcionális tulajdonságokat.

Megjegyzés

  • Ha egyéni sémát ad meg, a nem létező, nem kompatibilis típusú oszlopok vagy oszlopok null értékekkel lesznek kitöltve.
  • A partíciókra vonatkozó információk automatikusan következtetnek a változásnaplóból. A partícióoszlopok virtuális oszlopokként lesznek hozzáadva a táblasémához. További információ: Virtuális oszlopok.
  • A rendszer automatikusan levonja az elérési út formátumát a particionálási információkból. További információ: Elérési út formátuma

Tipp

Egyéni sémák esetén a infer_storage_schema beépülő modul használatával következtethet a sémára a külső fájltartalom alapján.

Hitelesítés és engedélyezés

A külső táblák eléréséhez használt hitelesítési módszer a létrehozás során megadott kapcsolati karakterlánc alapul, és a tábla eléréséhez szükséges engedélyek a hitelesítési módszertől függően változnak.

A támogatott hitelesítési módszerek megegyeznek az Azure Storage külső táblái által támogatott módszerekkel.

Választható tulajdonságok

Tulajdonság Típus Description
folder string Tábla mappája
docString string A táblázatot dokumentáló sztring
namePrefix string Ha be van állítva, a fájlok előtagját jelzi. Írási műveletek esetén az összes fájl ezzel az előtaggal lesz megírva. Olvasási műveletek esetén csak az ezzel az előtaggal rendelkező fájlok olvashatók.
fileExtension string Ha be van állítva, a fájlok fájlkiterjesztéseit jelzi. Írás esetén a fájlok neve ezzel az utótaggal végződik. Olvasás esetén csak az ezzel a fájlkiterjesztéssel rendelkező fájlok lesznek olvashatók.
encoding string Azt jelzi, hogy a szöveg hogyan van kódolva: UTF8NoBOM (alapértelmezett) vagy UTF8BOM.
dryRun bool Ha be van állítva, a külső tábladefiníció nem marad meg. Ez a beállítás hasznos a külső tábladefiníció érvényesítéséhez, különösen a vagy sampleUris paraméterrel filesPreview együtt.

Megjegyzés

A külső deltatábla a létrehozás során érhető el, így következtethet a particionálási információkra, és opcionálisan a sémára. Győződjön meg arról, hogy a tábladefiníció érvényes, és hogy a tároló elérhető.

Példák

Delta külső tábla létrehozása vagy módosítása egy következtetett sémával

Az alábbi külső táblában a séma automatikusan a deltatábla legújabb verziójából lesz kikövetkeztetett.

.create-or-alter external table ExternalTable  
kind=delta 
( 
   h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
) 

Delta külső tábla létrehozása egyéni sémával

Az alábbi külső táblázatban egy egyéni séma van megadva, és felülbírálja a delta tábla sémáját. Ha később le kell cserélnie az egyéni sémát a legújabb deltatábla-verzión alapuló sémára, futtassa a .alter | .create-or-alter parancsot anélkül, hogy meg kellene adnia egy sémát, mint az előző példában.

.create external table ExternalTable (Timestamp:datetime, x:long, s:string) 
kind=delta
( 
   h@'abfss://filesystem@storageaccount.dfs.core.windows.net/path;secretKey'
)

Korlátozások

  • Az időutazás nem támogatott. A rendszer csak a deltatábla legújabb verzióját használja.