Apache Spark では、外部データベースに接続し、Spark DataFrame にデータをロードすることができます。読み取りメソッドを使用します。データベース テーブルから読み取る場合、デフォルトの動作ではテーブル全体が取得されます。ただし、特定のシナリオでは、特定のクエリの結果のみをフェッチすることが望ましい場合があります。
PySpark を使用すると、SQL クエリを " dbtable" オプションはデータベースから読み取るときに使用します。これにより、テーブル全体ではなくクエリの結果セットをフェッチできます。
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()
この例では、クエリ (SELECT foo, bar FROM schema.tablename) が外部データベースで実行され、結果セットは Spark DataFrame df にロードされます。
以上が特定のクエリ結果を外部データベースから Spark DataFrame にフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。