Attribution de nom de fichier pour une sortie de texte (CSV, JSON, Parquet ou XML)
Décrit l'attribution d'un nom au fichier de sortie à l'aide de DBMS_CLOUD.EXPORT_DATA avec une sortie de fichier texte CSV, JSON, Parquet ou XML.
DBMS_CLOUD.EXPORT_DATA effectue l'interrogation spécifiée avec le paramètre query et envoie les résultats aux fichiers texte dans le seau du magasin d'objets en nuage ou dans un répertoire. Le format de sortie dépend du paramètre format type que vous spécifiez (un fichier CSV, JSON, Parquet ou XML).
Pour accélérer la procédure et générer la sortie le plus rapidement possible, DBMS_CLOUD.EXPORT_DATA divise son travail. Cela signifie que, selon les ressources du système, lorsque vous exécutez DBMS_CLOUD.EXPORT_DATA, la procédure crée plusieurs fichiers de sortie dans le seau du magasin d'objets en nuage ou dans le répertoire.
Le format de chaque fichier généré est le suivant :
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix : (Facultatif) Si un FileNamePrefix est fourni,
DBMS_CLOUD.EXPORT_DATAutilise le préfixe de nom de fichier pour générer des noms de fichier pour les résultats. FileNamePrefix est spécifié à l'aide du texte fourni après le nom du seau ou du répertoire dans la valeur du paramètrefile_uri_list.Vous ne pouvez pas fournir plusieurs valeurs pour FileNamePrefix dans
file_uri_list. -
client_info_module_action: If a file name prefix is not supplied with the
file_uri_listparameter,DBMS_CLOUD.EXPORT_DATAuses the combination of client_info, application module and action as the file name prefix (when this information is available). La procédure obtient ces noms à partir des informations de l'application pour la session de base de données qui exécute l'interrogation. Voir DBMS_APPLICATION_INFO pour plus d'informations sur le nom du client_info, du module et de l'action.Si aucun préfixe de nom de fichier n'est fourni avec
file_uri_listet que les attributs de session de base de données ne sont pas disponibles,DBMS_CLOUD.EXPORT_DATAutilise le préfixe de nom de fichier "data". -
sequenceNum : Numéro de séquence associé à l'interrogation
DBMS_CLOUD.EXPORT_DATA. Selon l'interrogation, le service de base de données et le nombre d'ECPU (OCPU si votre base de données utilise des OCPU), il existe un ou plusieurs sequenceNum. En outre, selon la taille des résultats, il existe un ou plusieurs fichiers de sortie pour chaque sequenceNum.Voir Gérer les accès simultanés et les priorités sur la base de données d'IA autonome pour plus d'informations sur les services de base de données.
-
horodatage : Horodatage du chargement du fichier.
-
format_extension : La valeur par défaut dépend de la valeur
formattype:- Format CSV :
.csv - Format JSON :
.json - Format PARQUET
.parquet - Format XML :
.xml
Pour plus d'informations, consultez la description de l'option
formatfileextensiondans Options de format d'ensemble DBMS_CLOUD pour EXPORT_DATA. - Format CSV :
-
compression_extension : Lorsque vous incluez le paramètre
formatavec l'optioncompressionavec la valeurgzip, il s'agit de"gz".Lorsque
formattypeestparquet, la valeurcompressionsnappyest également prise en charge et est la valeur par défaut.
Par exemple, le préfixe de nom de fichier dans la procédure DBMS_CLOUD.EXPORT_DATA suivante est spécifié dans le paramètre file_uri_list, en tant que dept_export. L'exemple génère la sortie vers le magasin d'objets fourni dans le format spécifié.
BEGIN
DBMS_CLOUD.EXPORT_DATA(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'json'));
END;
/
Lorsque vous spécifiez un préfixe de nom de fichier, les fichiers de sortie générés incluent le préfixe de nom de fichier, comme suit :
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
Le nombre de fichiers de sortie générés dépend de la taille des résultats, du service de base de données et du nombre d'ECPU (OCPU si votre base de données utilise des OCPU) dans l'instance de base de données de l'IA autonome.
Dans l'exemple suivant, le paramètre file_uri_list n'inclut pas de préfixe de nom de fichier et le paramètre compression est fourni, avec la valeur gzip :
BEGIN
DBMS_CLOUD.EXPORT_DATA(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
query => 'SELECT * FROM DEPT',
format => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/
When a file name prefix is not in the file_uri_list parameter, DBMS_CLOUD.EXPORT_DATA uses a file name prefix of the form: client_info_module_action. Pour cet exemple, les fichiers de sortie générés incluent le préfixe de nom de fichier fourni par DBMS_CLOUD.EXPORT_DATA et les fichiers sont compressés avec gzip et l'extension de fichier .gz est ajoutée, comme suit :
Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz
Si les informations de session client_info_module_action ne sont pas disponibles lorsque vous exécutez DBMS_CLOUD.EXPORT_DATA, le préfixe de nom de fichier est réglé à data. Exemple :
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gzPar exemple, le préfixe de nom de fichier dans la procédure DBMS_CLOUD.EXPORT_DATA suivante est spécifié dans le paramètre file_uri_list, en tant que dept_export. L'exemple génère la sortie vers le répertoire fourni dans le format spécifié.
BEGIN
DBMS_CLOUD.EXPORT_DATA(
file_uri_list => 'DATA_PUMP_DIR:sales.json',
query => 'SELECT * FROM SALES',
format => JSON_OBJECT('type' value 'json'));
END;
/Lorsque vous spécifiez un préfixe de nom de fichier, le fichier de sortie généré inclut le préfixe de nom de fichier, comme suit :
sales_1_20230705T124523275915Z.csv
Notes pour l'attribution d'un nom de fichier avec DBMS_CLOUD.EXPORT_DATA :
-
DBMS_CLOUD.EXPORT_DATAne crée pas de seaux ni de répertoires. -
Le nombre de fichiers générés par
DBMS_CLOUD.EXPORT_DATAest déterminé par le nombre d'ECPU (OCPU si votre base de données utilise des OCPU), le service de base de données et la taille des données de résultat. -
Les conditions suivantes s'appliquent lors de la fourniture d'un nom d'objet de répertoire dans le paramètre
file_uri_list:-
Le répertoire fourni doit exister et vous devez avoir l'accès
WRITEau répertoire. -
Le nom du répertoire est sensible à la casse lorsqu'il est encadré de guillemets doubles.
-
Le paramètre de nom des données d'identification ne doit pas être indiqué.
-
-
Pour la sortie CSV, JSON ou XML, par défaut lorsqu'un fichier généré contient 10 Mo de données, un nouveau fichier de sortie est créé. Toutefois, si vous avez moins de 10 Mo de données de résultat, vous pouvez avoir plusieurs fichiers de sortie, selon le service de base de données et le nombre d'ECPU (OCPU si votre base de données utilise des OCPU) pour l'instance de base de données de l'IA autonome.
La taille de fragment du fichier de sortie par défaut est de 10 Mo pour CSV, JSON ou XML. Vous pouvez modifier cette valeur avec l'option
maxfilesizedu paramètreformat. Pour plus d'informations, voir Options de format d'ensemble DBMS_CLOUD pour EXPORT_DATA. -
Pour la sortie Parquet, chaque fichier généré est inférieur à 128 Mo et plusieurs fichiers de sortie peuvent être générés. Toutefois, si vous avez moins de 128 Mo de données de résultat, vous pouvez avoir plusieurs fichiers de sortie en fonction du service de base de données et du nombre d'ECPU (OCPU si votre base de données utilise des OCPU) pour l'instance de base de données de l'IA autonome.
L'option
maxfilesizedu paramètreformatne s'applique pas aux fichiers Parquet.
Rubrique parent : Exporter des données dans le magasin d'objets en tant que texte