Creare e modificare tabelle esterne delta in Archiviazione di Azure
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
I comandi in questo articolo possono essere usati per creare o modificare una tabella esterna delta nel database da cui viene eseguito il comando. Una tabella esterna delta fa riferimento ai dati della tabella Delta Lake che si trovano in Archiviazione BLOB di Azure, Azure Data Lake Store Gen1 o Azure Data Lake Store Gen2.
Nota
Se la tabella esiste, il .create
comando avrà esito negativo con un errore. Utilizzare .create-or-alter
o .alter
per modificare le tabelle esistenti.
Per accelerare le query sulle tabelle delta esterne, vedere Criteri di accelerazione delle query.
Autorizzazioni
Per .create
richiedere almeno le autorizzazioni utente del database e per .alter
richiedere almeno le autorizzazioni di amministratore tabella .
Per .create-or-alter
una tabella esterna tramite l'autenticazione dell'identità gestita sono necessarie autorizzazioni AllDatabasesAdmin .
Sintassi
(.create
| | .alter
.create-or-alter
) external
table
TableName [(
Schema)
] kind
delta
=
(
StorageConnectionString )
[ Property [,
(
with
...]])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
TableName | string |
✔️ | Nome di tabella esterno conforme alle regole dei nomi di entità. Una tabella esterna non può avere lo stesso nome di una tabella normale nello stesso database. |
Schema | string |
Lo schema di dati esterni facoltativo è un elenco delimitato da virgole di uno o più nomi di colonne e tipi di dati, in cui ogni elemento segue il formato ColumnName : ColumnType. Se non specificato, verrà dedotto automaticamente dal log differenziale in base alla versione più recente della tabella delta. |
|
StorageConnectionString | string |
✔️ | Percorso della cartella radice della tabella delta, incluse le credenziali. Può puntare a Archiviazione BLOB di Azure contenitore BLOB, al file system di Azure Data Lake Gen 2 o al contenitore Azure Data Lake Gen 1. Il tipo di archiviazione tabelle esterne è determinato dal stringa di connessione fornito. Vedere stringa di connessione di archiviazione. |
Proprietà | string |
Coppia di proprietà chiave-valore nel formato PropertyName = PropertyValue. Vedere proprietà facoltative. |
Nota
- Se viene fornito uno schema personalizzato, le colonne o le colonne non esistenti con tipi incompatibili verranno riempite con valori Null.
- Le informazioni sulle partizioni vengono dedotte automaticamente dal log differenziale. Le colonne di partizione vengono aggiunte come colonne virtuali allo schema della tabella. Per altre informazioni, vedere Colonne virtuali.
- Il formato del percorso viene dedotto automaticamente dalle informazioni di partizionamento. Per altre informazioni, vedere Formato percorso
Suggerimento
Per uno schema personalizzato, è possibile usare il plug-in infer_storage_schema per dedurre lo schema in base al contenuto del file esterno.
Autenticazione e autorizzazione
Il metodo di autenticazione per accedere a una tabella esterna si basa sul stringa di connessione fornito durante la creazione e le autorizzazioni necessarie per accedere alla tabella variano a seconda del metodo di autenticazione.
I metodi di autenticazione supportati sono uguali a quelli supportati da Archiviazione di Azure tabelle esterne.
Proprietà facoltative
Proprietà | Type | Descrizione |
---|---|---|
folder |
string |
Cartella della tabella |
docString |
string |
Stringa che documenta la tabella |
namePrefix |
string |
Se impostato, indica il prefisso dei file. In caso di operazioni di scrittura, tutti i file verranno scritti con questo prefisso. Nelle operazioni di lettura vengono letti solo i file con questo prefisso. |
fileExtension |
string |
Se impostato, indica le estensioni di file dei file. In scrittura, i nomi dei file terminano con questo suffisso. In lettura, verranno letti solo i file con questa estensione di file. |
encoding |
string |
Indica la modalità di codifica del testo: UTF8NoBOM (impostazione predefinita) o UTF8BOM . |
dryRun |
bool |
Se impostata, la definizione della tabella esterna non viene salvata in modo permanente. Questa opzione è utile per convalidare la definizione della tabella esterna, in particolare in combinazione con il filesPreview parametro o sampleUris . |
Nota
L'accesso alla tabella differenziale esterna viene eseguito durante la creazione per dedurre le informazioni di partizionamento e, facoltativamente, lo schema. Assicurarsi che la definizione della tabella sia valida e che l'archiviazione sia accessibile.
Esempi
Creare o modificare una tabella esterna delta con uno schema dedotto
Nella tabella esterna seguente, lo schema viene dedotto automaticamente dalla versione più recente della tabella delta.
.create-or-alter external table ExternalTable
kind=delta
(
h@'https://storageaccount.blob.core.windows.net/container1;secretKey'
)
Creare una tabella esterna delta con uno schema personalizzato
Nella tabella esterna seguente viene specificato uno schema personalizzato ed esegue l'override dello schema della tabella delta. Se, in un secondo momento, è necessario sostituire lo schema personalizzato con lo schema basato sulla versione più recente della tabella delta, eseguire il .alter
| .create-or-alter
comando senza specificare uno schema, come nell'esempio precedente.
.create external table ExternalTable (Timestamp:datetime, x:long, s:string)
kind=delta
(
h@'abfss://filesystem@storageaccount.dfs.core.windows.net/path;secretKey'
)
Limiti
- Il viaggio in tempo non è supportato. Viene usata solo la versione più recente della tabella delta.