Maison >base de données >tutoriel mysql >Comment puis-je récupérer des résultats de requête spécifiques au lieu de tables entières dans Apache Spark 2.0.0 ?
Récupération des résultats de requête au lieu des données de table dans Apache Spark 2.0.0
Dans Apache Spark 2.0.0, il est possible de récupérer un un ensemble de résultats de requête spécifiques à partir d'une base de données externe, plutôt que de charger la table entière dans Spark. Cela peut être utile pour optimiser les performances et réduire la quantité de données traitées par votre application Spark.
À l'aide de PySpark, vous pouvez spécifier une sous-requête comme argument dbtable pour la méthode de lecture. Cette sous-requête sera exécutée sur la base de données externe et les données résultantes seront chargées dans Spark. Par exemple, le code suivant montre comment récupérer les résultats d'une requête au lieu de charger l'intégralité de la table 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 spécifiant la sous-requête comme argument dbtable, vous pouvez sélectionner uniquement les colonnes spécifiques. et les lignes qui vous intéressent. Cela peut entraîner des améliorations significatives des performances, en particulier lorsqu'il s'agit de grandes tables.
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!