Apache Spark 2.0.0 で外部データベースからクエリ結果を取得する
Apache Spark 2.0.0 では、結果を取得することができます全体をロードするのではなく、外部データベースからのクエリのセットtable.
提供された PySpark の例では、JDBC コネクタを使用して MySQL テーブルからデータを読み取ることで df DataFrame が作成されます。ただし、特定のクエリの結果のみをフェッチするには、read メソッドの dbtable 引数としてサブクエリを指定できます。
次のコードは、クエリ 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()
このアプローチを使用すると、Spark は外部データベースでサブクエリを実行し、結果のデータのみをデータベースにロードします。データフレーム。これは、テーブルのデータのサブセットのみが必要な場合に、パフォーマンスを最適化し、データ転送を削減するのに役立ちます。
以上がApache Spark 2.0.0 で外部データベースから特定のクエリ結果をフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。