Lire des données depuis des bases de données vers Dataflow
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Pour lire des données de bases de données relationnelles dans Dataflow, utilisez le connecteur d'E/S géré.
L'exemple suivant lit une base de données PostgreSQL et écrit les données dans des fichiers texte. Bien que cet exemple utilise PostgreSQL, la configuration des autres bases de données compatibles est similaire.
importcom.google.common.collect.ImmutableMap;importorg.apache.beam.sdk.Pipeline;importorg.apache.beam.sdk.PipelineResult;importorg.apache.beam.sdk.io.TextIO;importorg.apache.beam.sdk.managed.Managed;importorg.apache.beam.sdk.options.Description;importorg.apache.beam.sdk.options.PipelineOptions;importorg.apache.beam.sdk.options.PipelineOptionsFactory;importorg.apache.beam.sdk.transforms.MapElements;importorg.apache.beam.sdk.values.TypeDescriptors;publicclassPostgresRead{publicinterfaceOptionsextendsPipelineOptions{@Description("The JDBC URL of the PostgreSQL database to read from.")StringgetJdbcUrl();voidsetJdbcUrl(Stringvalue);@Description("The PostgresSQL table to read from.")StringgetTable();voidsetTable(Stringvalue);@Description("The username for the PostgreSQL database.")StringgetUsername();voidsetUsername(Stringvalue);@Description("The password for the PostgreSQL database.")StringgetPassword();voidsetPassword(Stringvalue);@Description("The path to write the output file. Can be a local file path, "+"a GCS path, or a path to any other supported file systems.")StringgetOutputPath();voidsetOutputPath(Stringvalue);}publicstaticPipelineResult.Statemain(String[]args){// Parse the pipeline options passed into the application. Example:// --runner=DirectRunner --jdbcUrl=$JDBC_URL --table=$TABLE// --username=$USERNAME --password=$PASSWORD --outputPath=$OUTPUT_FILE// For more information, see// https://beam.apache.org/documentation/programming-guide/#configuring-pipeline-optionsvaroptions=PipelineOptionsFactory.fromArgs(args).withValidation().as(Options.class);Pipelinepipeline=createPipeline(options);returnpipeline.run().waitUntilFinish();}publicstaticPipelinecreatePipeline(Optionsoptions){// Create configuration parameters for the Managed I/O transform.ImmutableMap<String,Object>config=ImmutableMap.<String,Object>builder().put("jdbc_url",options.getJdbcUrl()).put("location",options.getTable()).put("username",options.getUsername()).put("password",options.getPassword()).build();// Build the pipeline.varpipeline=Pipeline.create(options);pipeline// Read data from a Postgres database using Managed I/O..apply(Managed.read(Managed.POSTGRES).withConfig(config)).getSinglePCollection()// Convert each row to a string..apply(MapElements.into(TypeDescriptors.strings()).via((row->String.format("%d,%s",row.getInt32("id"),row.getString("name")))))// Write strings to a text file..apply(TextIO.write().to(options.getOutputPath()).withSuffix(".txt").withNumShards(1));returnpipeline;}}
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2026/05/21 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2026/05/21 (UTC)."],[],[]]