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!