ホームページ >データベース >mysql チュートリアル >Apache Spark 2.0.0 でテーブル全体ではなく特定のクエリ結果を取得するにはどうすればよいですか?

Apache Spark 2.0.0 でテーブル全体ではなく特定のクエリ結果を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-30 03:22:14861ブラウズ

How Can I Retrieve Specific Query Results Instead of Entire Tables in Apache Spark 2.0.0?

Apache Spark 2.0.0 でのテーブル データの代わりにクエリ結果を取得する

Apache Spark 2.0.0 では、テーブル全体を Spark にロードするのではなく、外部データベースから特定のクエリ結果セットを取得します。これは、パフォーマンスを最適化し、Spark アプリケーションによって処理されるデータ量を削減するのに役立ちます。

PySpark を使用すると、読み取りメソッドの dbtable 引数としてサブクエリを指定できます。このサブクエリは外部データベースで実行され、結果のデータが Spark にロードされます。たとえば、次のコードは、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()

サブクエリを dbtable 引数として指定することで、特定の列のみを選択できます。これにより、特に大きなテーブルを扱う場合、パフォーマンスが大幅に向上する可能性があります。

以上がApache Spark 2.0.0 でテーブル全体ではなく特定のクエリ結果を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。