Options de format de l'ensemble DBMS_CLOUD pour Avro, ORC ou Parquet

L'argument de format dans DBMS_CLOUD spécifie le format des fichiers sources.

Les deux façons de spécifier l'argument de format sont :

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

Et :

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

Exemples :

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

Pour spécifier plusieurs options de format, séparez les valeurs par une ",".

Exemple :

format => json_object('ignoremissingcolumns' value 'true', 'removequotes' value 'true', 'dateformat' value 'YYYY-MM-DD-HH24-MI-SS', 'blankasnull' value 'true')
Option de format Description Syntaxe

maxvarchar

Contrôle la longueur maximale par défaut de varchar2() pour les colonnes de caractères lors de la création de tables externes dans les fichiers au format Avro, ORC ou Parquet. Les options sont les suivantes :

  • standard : Spécifie que la longueur maximale des colonnes varchar2() est de 4000 octets. Cela équivaut à auto sur les systèmes avec MAX_STRING_SIZE = standard.

    Sur les systèmes avec MAX_STRING_SIZE = extended, lorsque vous créez une table externe sur Avro, ORC ou Parquet et que vous spécifiez maxvarchar comme standard, les colonnes de caractères sont raccourcies à varchar2(4000).

  • extended : Spécifie que la longueur maximale des colonnes varchar2() est de 32767 octets. Cela équivaut à auto sur les systèmes avec MAX_STRING_SIZE = extended. Cette valeur génère une erreur sur les systèmes avec MAX_STRING_SIZE = standard.

  • auto : Le système sélectionne automatiquement la taille maximale d'octets varchar2(), en fonction de la valeur MAX_STRING_SIZE. La valeur auto est la valeur par défaut pour maxvarchar.

maxvarchar: standard | extended | auto

Valeur par défaut :auto

regexuri

Lorsque la valeur de regexuri est réglée à TRUE, vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier des URI de fichier source en nuage.

Les caractères "*" et "?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est réglé à FALSE. Lorsque le paramètre regexuri est réglé à TRUE, les caractères "*" et "?" font partie du modèle d'expression rationnelle spécifié.

Les modèles d'expression rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction REGEXP_LIKE. Les modèles d'expression rationnelle ne sont pas pris en charge pour les noms de répertoire.

Pour les tables externes, cette option n'est prise en charge qu'avec les tables créées dans un fichier du stockage d'objets.

Exemple :

format => JSON_OBJECT('regexuri' value TRUE)

Voir Condition REGEXP_LIKE pour plus d'informations sur la condition REGEXP_LIKE.

regexuri: True

Valeur par défaut :False

type

Indique le type de fichier.

type : avro | orc | parquet

schema

Lorsque le schéma est réglé à first ou all, les colonnes et les types de données de la table externe sont automatiquement dérivés des métadonnées du fichier Avro, ORC ou Parquet.

Les noms de colonne correspondront à ceux trouvés dans Avro, ORC ou Parquet. Les types de données sont convertis des types Avro, ORC ou Parquet aux types de données Oracle. Toutes les colonnes sont ajoutées à la table.

La valeur first spécifie d'utiliser les métadonnées du premier fichier Avro, ORC ou Parquet dans file_uri_list pour générer automatiquement les colonnes et leurs types de données. Utilisez first si tous les fichiers ont le même schéma.

La valeur all indique d'utiliser les métadonnées de tous les fichiers Avro, ORC ou Parquet dans file_uri_list pour générer automatiquement les colonnes et leurs types de données. Utilisez all (plus lent) si les fichiers peuvent avoir des schémas différents.

Valeur par défaut : Si column_list est spécifié, la valeur schema est ignorée si elle est spécifiée. Si column_list n'est pas spécifié, la valeur par défaut de schema est first.

Note : Pour les fichiers au format Avro, ORC ou Parquet, l'option de format schema n'est pas disponible et le paramètre column_list doit être spécifié pour les tables externes partitionnées à l'aide de la procédure DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE.

schema : first | all