Charger des données à partir de répertoires dans une base de données d'intelligence artificielle autonome

Comme alternative à un URI d'emplacement de magasin d'objets, vous pouvez spécifier un répertoire avec des procédures DBMS_CLOUD pour charger ou décharger des données à partir de fichiers dans un répertoire local, y compris les répertoires créés sur des systèmes de fichiers réseau attachés.

Les procédures suivantes prennent en charge la spécification de fichiers dans un répertoire avec le paramètre file_uri_list :

  • DBMS_CLOUD.COPY_COLLECTION
  • DBMS_CLOUD.COPY_DATA
  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE

Les procédures suivantes prennent en charge la spécification de fichiers dans un répertoire avec le paramètre partitioning_clause :

  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

Vous pouvez spécifier un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est :'MY_DIR:filename.ext'. Par défaut, le nom de répertoire MY_DIR est un objet de base de données non sensible à la casse. Le nom du fichier est sensible à la casse.

Lorsque vous utilisez le paramètre file_uri_list pour spécifier un répertoire, vous n'avez pas besoin d'inclure le paramètre credential_name, mais vous avez besoin de privilèges d'objet READ sur le répertoire.

Par exemple, avec un appel à DBMS_CLOUD.COPY_DATA, utilisez le paramètre file_uri_list pour spécifier des fichiers dans un répertoire :

BEGIN
  DBMS_CLOUD.COPY_DATA(
     table_name => 'HRDATA1',
     file_uri_list => 'HR_DIR:test.csv',
     format => JSON_OBJECT('type' value 'csv')  );
END;
/

Cet exemple copie les données de test.csv dans le répertoire local HR_DIR vers la table HRDATA1.

Les expressions rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé pour plusieurs caractères, et le caractère "?" peut être utilisé pour un seul caractère. Par exemple :'MY_DIR:*" ou 'MY_DIR:test?'

Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : Par exemple :'MY_DIR1:*, MY_DIR2:test?'

Utilisez des guillemets doubles pour spécifier un nom de répertoire sensible à la casse. Par exemple :'"my_dir1":*, "my_dir2":Test?'

Pour inclure un caractère de guillemet, utilisez deux guillemets. Par exemple :'MY_DIR:''filename.ext'. Cela spécifie que filename commence par une soumission (').

Voir Attacher un système de fichiers de réseau à une base de données d'IA autonome pour plus d'informations sur l'attachement de systèmes de fichiers de réseau.

Notes pour l'utilisation des répertoires avec les procédures DBMS_CLOUD

Notez ce qui suit lorsque vous utilisez des procédures DBMS_CLOUD et spécifiez un répertoire avec le paramètre file_uri_list :

  • Les options de compression pour les fichiers tels que GZIP ne sont pas prises en charge pour les fichiers de répertoire. Pour plus d'informations, voir l'option de format compression dans Options de format d'ensemble DBMS_CLOUD.

  • Les caractères spéciaux tels que les deux-points ( :), les guillemets simples (') et les virgules (,) ne sont pas pris en charge dans le nom du répertoire.