Caricare i dati o eseguire query sui dati dai file in una directory

È possibile utilizzare le procedure DBMS_CLOUD per caricare i dati da file di una directory, incluse le directory create sui file system di rete collegati. È inoltre possibile utilizzare queste procedure per creare tabelle esterne che è possibile utilizzare per eseguire query sui dati.

Le seguenti procedure DBMS_CLOUD supportano il caricamento dei dati nel database da una directory:

  • DBMS_CLOUD.COPY_COLLECTION
  • DBMS_CLOUD.COPY_DATA

Inoltre, le seguenti procedure DBMS_CLOUD supportano la creazione di tabelle esterne da dati in file in una directory.

  • DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
  • DBMS_CLOUD.CREATE_EXTERNAL_TABLE
  • DBMS_CLOUD.CREATE_HYBRID_PART_TABLE

A seconda della procedura, utilizzare il parametro file_uri_list o il parametro partitioning_clause per specificare i file in una o più directory.

Per caricare i dati da una directory, non è necessario includere il parametro credential_name, ma sono necessari i privilegi dell'oggetto READ nella directory.

Ad esempio, è possibile caricare i dati in una tabella esistente utilizzando DBMS_CLOUD.COPY_DATA:

  1. Utilizzare una directory esistente, creare una directory o allegare un file system di rete per i file di origine.

    Per informazioni sulla creazione di una directory locale nell'istanza di Autonomous Database, vedere Crea directory in Autonomous Database.

    Per informazioni sul collegamento di un file system di rete contenente i dati che si desidera caricare, vedere Allega file system di rete ad Autonomous Database.

  2. Caricare i dati con una procedura DBMS_CLOUD.

    Ad esempio:

    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name => 'CHANNELS',
        file_uri_list => 'MY_DIR:channels.txt',
        format => json_object('delimiter' value ',')
     );
    END;
    /
    

    Di seguito sono riportati i parametri disponibili.

    • table_name: è il nome della tabella di destinazione.

    • file_uri_list: specifica dei nomi di directory e file per i file di origine che si desidera caricare.

      È possibile specificare una directory e uno o più nomi di file oppure utilizzare un elenco separato da virgole di directory e nomi di file. Il formato per specificare una directory è:'MY_DIR:filename.ext'. Per impostazione predefinita, il nome della directory MY_DIR è un oggetto di database e non fa distinzione tra maiuscole e minuscole. Nel nome del file viene fatta distinzione tra maiuscole e minuscole.

      Vedere Carica dati da directory in Autonomous Database per ulteriori dettagli e un esempio di specifica di file in una directory. Vengono inoltre fornite informazioni sulla quotazione del nome della directory per rendere il nome della directory sensibile alle maiuscole e alle minuscole e per informazioni sull'uso dei caratteri jolly.

    • format: definisce le opzioni che è possibile specificare per descrivere il formato del file di origine, incluso se il file è di tipo testo, ORC, Parquet o Avro.

Per ulteriori informazioni, vedere COPY_DATA Procedure.

Per informazioni sul collegamento dei file system di rete, vedere Allegare il file system di rete ad Autonomous Database.