Maison >base de données >tutoriel mysql >Comment récupérer des résultats de requête spécifiques à partir de bases de données externes dans Apache Spark 2.0.0 ?
Dans Apache Spark, la récupération de données à partir de bases de données externes se fait souvent en chargeant une table entière à l'aide de DataFrameReader . Cependant, il peut parfois être souhaitable de récupérer uniquement les résultats d'une requête spécifique.
Dans Apache Spark 2.0.0, il est possible de spécifier une sous-requête comme argument dbtable lors de la lecture à partir d'une source JDBC. Cela vous permet de récupérer les résultats d'une requête spécifique plutôt que la table entière.
Considérez l'extrait de code suivant écrit dans Pyspark :
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, au lieu de récupérer l'intégralité table schema.tablename, le code exécute la sous-requête (SELECT foo, bar FROM schema.tablename) AS tmp et stocke les résultats dans la table temporaire tmp. Le DataFrameReader charge ensuite les données de la table temporaire tmp dans le 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!