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-alter
AllDatabasesAdmin engedély szükséges.
Syntax
(.create
.alter
| | .create-or-alter
) external
table
TableName [(
Séma)
] kind
(
=
delta
StorageConnectionString)
[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.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: