La procedura DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
supporta i file partizionati esterni nei servizi di storage degli oggetti cloud supportati. La credenziale è una proprietà a livello di tabella, pertanto i file esterni devono trovarsi tutti nella stessa area di memorizzazione degli oggetti cloud.
Ad esempio:
BEGIN DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/sales/*.parquet',
format =>
json_object('type' value 'parquet', 'schema' value 'first',
'partition_columns' value
json_array(
json_object('name' value 'country', 'type' value 'varchar2(100)'),
json_object('name' value 'year', 'type' value 'number'),
json_object('name' value 'month', 'type' value 'varchar2(2)')
)
)
);
END;
/
I parametri DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
per i file di dati strutturati, ad esempio per un file di dati Parquet, non richiedono i parametri column_list
o field_list
. I nomi di colonna e i tipi di dati vengono derivati per le colonne dal primo file di parquet che la procedura esegue la scansione (e quindi tutti i file devono avere la stessa forma). L'elenco di colonne generato include le colonne derivate dal nome dell'oggetto e queste colonne hanno i tipi di dati specificati con il parametro partition_columns
format
.
Di seguito sono riportati i parametri.
-
table_name
: è il nome della tabella esterna.
-
credential_name
: è il nome della credenziale creata nel passo precedente.
-
file_uri_list
: è una lista delimitata da virgole di URI file di origine. Per questo elenco sono disponibili due opzioni:
-
Specificare una lista delimitata da virgole di singoli URI file senza caratteri jolly.
-
Specificare un singolo URI file con caratteri jolly, in cui i caratteri jolly possono essere solo dopo l'ultima barra "/". Il carattere "*" può essere utilizzato come carattere jolly per più caratteri, il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere.
-
column_list
: è una lista delimitata da virgole di nomi di colonna e tipi di dati per la tabella esterna. L'elenco include le colonne che si trovano all'interno del file e quelle derivate dal nome dell'oggetto.
column_list
non è necessario quando i file di dati sono file strutturati (Parquet, Avro o ORC).
-
field_list
: identifica i campi nei file di origine e i relativi tipi di dati. Il valore predefinito è NULL
, ovvero i campi e i relativi tipi di dati sono determinati dal parametro column_list
.
field_list
non è necessario quando i file di dati sono file strutturati (Parquet, Avro o ORC).
-
format
: definisce le opzioni che è possibile specificare per descrivere il formato del file di origine. Il parametro partition_columns
format
specifica i nomi delle colonne della partizione. Per ulteriori informazioni, vedere DBMS_CLOUD Opzioni formato pacchetto.
Se i dati nel file di origine sono cifrati, decifrare i dati specificando l'opzione di formato encryption
. Per ulteriori informazioni sulla decifrazione dei dati, vedere Decifra dati durante l'importazione dallo storage degli oggetti.
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
Per informazioni dettagliate sui parametri, vedere CREATE_EXTERNAL_PART_TABLE Procedura.
Per ulteriori informazioni sui servizi di storage degli oggetti cloud supportati, vedere DBMS_CLOUD Formati URI.
Se nei file di origine sono presenti righe che non corrispondono alle opzioni di formato specificate, la query segnala un errore. È possibile utilizzare i parametri DBMS_CLOUD
, ad esempio rejectlimit
, per eliminare questi errori. In alternativa, è anche possibile convalidare la tabella partizionata esterna creata per visualizzare i messaggi di errore e le righe rifiutate in modo da poter modificare le opzioni di formato di conseguenza. Per ulteriori informazioni, vedere Convalida dati esterni e Convalida dati partizionati esterni.