Options de format de package DBMS_CLOUD pour Avro, ORC ou Parquet

L'argument de format dans DBMS_CLOUD indique le format des fichiers source.

Les deux méthodes de spécification de 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 indiquer plusieurs options de format, séparez les valeurs par une virgule ",".

Par 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 des fichiers au format Avro, ORC ou Parquet. Les options disponibles sont les suivantes :

  • standard : indique que la limite de longueur pour les 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 indiquez maxvarchar en tant que standard, les colonnes de caractères sont réduites à varchar2(4000).

  • extended : indique que la limite de longueur pour les 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 d'octet maximale 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 définie sur TRUE, vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud.

Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre regexuri est défini sur FALSE. Lorsque le paramètre regexuri est défini sur TRUE, les caractères "*" et " ?" font partie du modèle d'expression régulière indiqué.

Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de 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 régulière 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 sur un fichier dans Object Storage.

Par exemple :

format => JSON_OBJECT('regexuri' value TRUE)

Pour plus d'informations sur la condition REGEXP_LIKE, reportez-vous à REGEXP_LIKE Condition.

regexuri: True

Valeur par défaut :False

type

Spécifie le type de fichier.

type : avro | orc | parquet

schema

Lorsque le schéma est défini sur first ou all, les colonnes de table externe et les types de données sont automatiquement dérivés des métadonnées de 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 en types de données Oracle. Toutes les colonnes sont ajoutées à la table.

La valeur first indique 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, si elle est spécifiée, est ignorée. Si column_list n'est pas indiqué, la valeur par défaut schema est first.

Remarque : 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