DBMS_CLOUD Opzioni di formato package per Avro, ORC o Parquet

L'argomento del formato in DBMS_CLOUD specifica il formato dei file di origine.

Di seguito sono riportati i due modi per specificare l'argomento del formato.

format => '{"format_option" : “format_value” }'  

E:

format => json_object('format_option' value 'format_value'))

Esempi:

format => json_object('type' VALUE 'CSV')

Per specificare più opzioni di formato, separare i valori con un ",".

Ad esempio:

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
Opzione di formato descrizione; Sintassi

maxvarchar

Controlla la lunghezza massima predefinita varchar2() per le colonne di caratteri durante la creazione di tabelle esterne nei file di formato Avro, ORC o Parquet. Sono disponibili le seguenti opzioni:

  • standard: specifica che il limite di lunghezza per le colonne varchar2() è di 4000 byte. È equivalente a auto nei sistemi con MAX_STRING_SIZE = standard.

    Nei sistemi con MAX_STRING_SIZE = extended, quando si crea una tabella esterna su Avro, ORC o Parquet e si specifica maxvarchar come standard, le colonne di caratteri vengono abbreviate in varchar2(4000).

  • extended: specifica che il limite di lunghezza per le colonne varchar2() è di 32767 byte. È equivalente a auto nei sistemi con MAX_STRING_SIZE = extended. Questo valore genera un errore sui sistemi con MAX_STRING_SIZE = standard.

  • auto: il sistema seleziona automaticamente la dimensione massima in byte varchar2(), in base al valore MAX_STRING_SIZE. Il valore auto è il valore predefinito per maxvarchar.

maxvarchar: standard | extended | auto

Valore predefinito:auto

regexuri

Quando il valore di regexuri è impostato su TRUE, è possibile utilizzare i caratteri jolly e le espressioni regolari nei nomi file negli URI dei file di origine cloud.

I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro regexuri è impostato su FALSE. Quando il parametro regexuri è impostato su TRUE, i caratteri "*" e "?" fanno parte del pattern di espressioni regolari specificato.

I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione REGEXP_LIKE. I pattern di espressione regolare non sono supportati per i nomi di directory.

Per le tabelle esterne, questa opzione è supportata solo con le tabelle create su un file nello storage degli oggetti.

Ad esempio:

format => JSON_OBJECT('regexuri' value TRUE)

Per ulteriori informazioni sulla condizione REGEXP_LIKE, vedere REGEXP_LIKE Condizione.

regexuri: True

Valore predefinito:False

type

Specifica il tipo di file.

type : avro | orc | parquet

schema

Quando lo schema è impostato su first o all, le colonne e i tipi di dati della tabella esterna vengono derivati automaticamente dai metadati dei file Avro, ORC o Parquet.

I nomi delle colonne corrispondono a quelli trovati in Avro, ORC o Parquet. I tipi di dati vengono convertiti dai tipi di dati Avro, ORC o Parquet ai tipi di dati Oracle. Tutte le colonne vengono aggiunte alla tabella.

Il valore first specifica di utilizzare i metadati del primo file Avro, ORC o Parquet nel file file_uri_list per generare automaticamente le colonne e i relativi tipi di dati. Utilizzare first se tutti i file hanno lo stesso schema.

Il valore all specifica di utilizzare i metadati di tutti i file Avro, ORC o Parquet nel file file_uri_list per generare automaticamente le colonne e i relativi tipi di dati. Utilizzare all (più lento) se i file possono avere schemi diversi.

Predefinito: se si specifica column_list, il valore schema, se specificato, viene ignorato. Se column_list non viene specificato, il valore predefinito schema è first.

Nota: per i file in formato Avro, ORC o Parquet, l'opzione di formato schema non è disponibile e il parametro column_list deve essere specificato per le tabelle esterne partizionate utilizzando la procedura DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE.

schema : first | all