Maison >base de données >tutoriel mysql >Comment récupérer des résultats de requête spécifiques d'une base de données externe dans un Spark DataFrame ?

Comment récupérer des résultats de requête spécifiques d'une base de données externe dans un Spark DataFrame ?

DDD
DDDoriginal
2024-11-30 16:05:14792parcourir

How to Fetch Specific Query Results from an External Database into a Spark DataFrame?

Récupération d'un résultat de requête à partir d'une base de données externe dans Apache Spark 2.0.0

Dans Apache Spark, il est possible de se connecter à des bases de données externes et de charger des données dans Spark DataFrames en utilisant la méthode de lecture. Lors de la lecture d'une table de base de données, le comportement par défaut consiste à récupérer la table entière. Cependant, dans certains scénarios, il peut être souhaitable de récupérer uniquement les résultats d'une requête spécifique.

Interrogation d'une base de données externe dans PySpark

À l'aide de PySpark, vous pouvez spécifier une requête SQL comme " dbtable" lors de la lecture à partir d'une base de données. Cela vous permet de récupérer le jeu de résultats d'une requête au lieu de la table entière.

from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .appName("spark play")\
    .getOrCreate()    

df = spark.read\
    .format("jdbc")\
    .option("url", "jdbc:mysql://localhost:port")\
    .option("dbtable", "(SELECT foo, bar FROM schema.tablename) AS tmp")\
    .option("user", "username")\
    .option("password", "password")\
    .load()

Dans cet exemple, la requête (SELECT foo, bar FROM schema.tablename) est exécutée sur la base de données externe, et l'ensemble de résultats est chargé dans le Spark DataFrame df.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn