Dénomination de fichier pour la sortie texte (CSV, JSON, Parquet ou XML)
Décrit l'affectation de noms aux fichiers 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 la requête indiquée avec le paramètre query
et envoie les résultats vers des fichiers texte dans le bucket de la banque d'objets cloud ou vers un répertoire. Le format de sortie dépend du paramètre format
type
que vous indiquez (un format 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, en fonction des ressources système, lorsque vous exécutez DBMS_CLOUD.EXPORT_DATA
, la procédure crée plusieurs fichiers de sortie dans le bucket de la banque d'objets cloud 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 une valeur FileNamePrefix est fournie,
DBMS_CLOUD.EXPORT_DATA
utilise le préfixe de nom de fichier pour générer les noms de fichier des résultats. Le paramètre FileNamePrefix est indiqué à l'aide du texte fourni après le nom du bucket 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_list
parameter,DBMS_CLOUD.EXPORT_DATA
uses 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 la requête. Reportez-vous à DBMS_APPLICATION_INFO pour plus d'informations sur client_info, le nom de module et le nom d'action.Si aucun préfixe de nom de fichier n'est fourni avec
file_uri_list
et que les attributs de session de base de données ne sont pas disponibles,DBMS_CLOUD.EXPORT_DATA
utilise le préfixe de nom de fichier "data
". -
sequenceNum : numéro de séquence associé à la requête
DBMS_CLOUD.EXPORT_DATA
. En fonction de la requête, du service de base de données et du nombre d'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 fichier sequenceNum.Pour plus d'informations sur les services de base de données, reportez-vous à Gestion de la simultanéité et des priorités sur Autonomous Database.
-
horodatage : horodatage du téléchargement du fichier.
-
format_extension : la valeur par défaut dépend de la valeur
format
type
:- Format CSV :
.csv
- Format JSON :
.json
- Format PARQUET
.parquet
- Format XML :
.xml
Pour plus d'informations, reportez-vous à la description de l'option
format
fileextension
dans DBMS_CLOUD Package Format Options for EXPORT_DATA. - Format CSV :
-
compression_extension : lorsque vous incluez le paramètre
format
avec l'optioncompression
avec la valeurgzip
, il s'agit de"gz"
.Lorsque la valeur
format
type
estparquet
, la valeurcompression
snappy
est é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 indiqué dans le paramètre file_uri_list
, en tant que dept_export
. L'exemple génère la sortie vers la banque d'objets fournie 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 indiquez 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 Autonomous Database.
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;
/
Lorsqu'un préfixe de nom de fichier ne figure pas dans le paramètre file_uri_list
, DBMS_CLOUD.EXPORT_DATA
utilise un préfixe de nom de fichier de la forme suivante : client_info_module_action. Dans 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 défini sur data
. Par exemple :
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz
Par exemple, le préfixe de nom de fichier dans la procédure DBMS_CLOUD.EXPORT_DATA
suivante est indiqué 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 indiquez 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
Remarques concernant la dénomination des fichiers avec DBMS_CLOUD.EXPORT_DATA
:
-
DBMS_CLOUD.EXPORT_DATA
ne crée pas de buckets ou de répertoires. -
Le nombre de fichiers générés par
DBMS_CLOUD.EXPORT_DATA
est déterminé par le nombre d'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. -
Ce qui suit s'applique lorsque vous indiquez un nom d'objet de répertoire dans le paramètre
file_uri_list
:-
Le répertoire fourni doit exister et vous devez disposer d'un accès
WRITE
au répertoire. -
Le nom de répertoire est sensible à la casse lorsqu'il est placé entre guillemets doubles.
-
Le paramètre de nom d'informations d'identification ne doit pas être fourni.
-
-
Par défaut, lorsqu'un fichier généré contient 10 Mo de données, un nouveau fichier de sortie est créé pour une sortie CSV, JSON ou XML. Toutefois, si vous disposez de moins de 10 Mo de données de résultat, vous pouvez disposer de plusieurs fichiers de sortie, en fonction du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU) pour l'instance Autonomous Database.
La taille par défaut du bloc du fichier de sortie est de 10 Mo pour CSV, JSON ou XML. Vous pouvez modifier cette valeur avec le paramètre
format
, optionmaxfilesize
. Pour plus d'informations, reportez-vous à DBMS_CLOUD Options de format de package 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 disposez de moins de 128 Mo de données de résultat, vous pouvez disposer de plusieurs fichiers de sortie en fonction du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU) pour l'instance Autonomous Database.
L'option
maxfilesize
du paramètreformat
ne s'applique pas aux fichiers Parquet.
Rubrique parent : Exporter les données vers la banque d'objets sous forme de texte