La procédure DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE prend en charge les fichiers partitionnés externes dans les services de stockage d'objets en nuage pris en charge. Les données d'identification sont une propriété de niveau table. Par conséquent, les fichiers externes doivent tous se trouver dans le même magasin d'objets en nuage.
Exemple :
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;
/
Les paramètres DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE pour les fichiers de données structurés, par exemple pour un fichier de données Parquet, ne nécessitent pas les paramètres column_list ou field_list. Les noms de colonne et les types de données sont dérivés pour les colonnes à partir du premier fichier parquet balayé par la procédure (et donc tous les fichiers doivent avoir la même forme). La liste des colonnes générées inclut les colonnes dérivées du nom de l'objet et ces colonnes ont les types de données spécifiés avec le paramètre partition_columns format.
Les paramètres sont les suivants :
-
table_name : Nom de la table externe.
-
credential_name : Nom des données d'identification créées à l'étape précédente.
-
file_uri_list : Il s'agit d'une liste délimitée par des virgules d'URI de fichier source. Deux options sont disponibles pour cette liste :
-
Indiquez une liste délimitée par des virgules d'URI de fichier individuels sans caractère générique.
-
Spécifiez un URI de fichier unique avec des caractères génériques, où les caractères génériques ne peuvent se trouver qu'après la dernière barre oblique "/". Le caractère "*" peut être utilisé comme caractère générique pour plusieurs caractères, "?" peut être utilisé pour un seul caractère.
-
column_list : Liste séparée par des virgules de noms de colonne et de types de données pour la table externe. La liste inclut les colonnes qui se trouvent dans le fichier ainsi que celles dérivées du nom de l'objet.
La valeur column_list n'est pas requise lorsque les fichiers de données sont des fichiers structurés (Parquet, Avro ou ORC).
-
field_list : Identifie les champs des fichiers sources et leur type de données. La valeur par défaut est NULL, ce qui signifie que les champs et leur type de données sont déterminés par le paramètre column_list.
La valeur field_list n'est pas requise lorsque les fichiers de données sont des fichiers structurés (Parquet, Avro ou ORC).
-
format : Définit les options que vous pouvez spécifier pour décrire le format du fichier source. Le paramètre partition_columns format spécifie les noms des colonnes de partition. Pour plus d'informations, voir Options de format d'ensemble DBMS_CLOUD.
Si les données de votre fichier source sont chiffrées, déchiffrez les données en spécifiant l'option de format encryption. Voir Décrypter les données lors de l'importation à partir du stockage d'objets pour plus d'informations sur le déchiffrement des données.
Dans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
Voir Procédure CREATE_EXTERNAL_PART_TABLE pour des informations détaillées sur les paramètres.
Pour plus d'informations sur les services de stockage d'objets en nuage pris en charge, voir Formats d'URI DBMS_CLOUD.
Si des rangées des fichiers sources ne correspondent pas aux options de format que vous avez spécifiées, l'interrogation signale une erreur. Vous pouvez utiliser les paramètres DBMS_CLOUD, tels que rejectlimit, pour supprimer ces erreurs. Vous pouvez également valider la table partitionnée externe que vous avez créée pour voir les messages d'erreur et les rangées rejetées afin de pouvoir modifier les options de format en conséquence. Voir Valider les données externes et Valider les données partitionnées externes pour plus d'informations.