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

Comment récupérer des résultats de requête spécifiques à partir d'une base de données externe dans Apache Spark 2.0.0 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-17 02:13:25482parcourir

How to Fetch Specific Query Results from an External Database in Apache Spark 2.0.0?

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

Dans Apache Spark 2.0.0, il est possible de récupérer le résultat ensemble d'une requête provenant d'une base de données externe, plutôt que de charger la table entière.

Dans l'exemple PySpark fourni, le df DataFrame est créé en lisant les données d'une table MySQL à l'aide du connecteur JDBC. Cependant, pour récupérer uniquement les résultats d'une requête spécifique, vous pouvez spécifier la sous-requête comme argument dbtable dans la méthode read.

Le code suivant montre comment récupérer le jeu de résultats de la requête SELECT foo, bar FROM schema.tablename :

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()

En utilisant cette approche, Spark exécutera la sous-requête sur la base de données externe et chargera uniquement les données résultantes dans le DataFrame. Cela peut être utile pour optimiser les performances et réduire le transfert de données lorsque vous n'avez besoin que d'un sous-ensemble des données de la table.

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