ホームページ >データベース >mysql チュートリアル >IN 句を使用して PySpark データフレームを効率的にフィルタリングする方法

IN 句を使用して PySpark データフレームを効率的にフィルタリングする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-28 21:57:11351ブラウズ

How to Efficiently Filter PySpark DataFrames Using an IN Clause?

IN 句を使用した Pyspark DataFrame フィルタリングの処理

SQL のような IN 句を使用した Pyspark DataFrame のフィルタリングは、文字列フォーマットを使用して実現できます。

指定された例では:

sc = SparkContext()
sqlc = SQLContext(sc)
df = sqlc.sql('SELECT * from my_df WHERE field1 IN a')

に渡される文字列SQLContext は SQL 環境で評価され、クロージャをキャプチャしません。変数を明示的に渡すには、文字列フォーマットを使用します:

df.registerTempTable("df")
sqlContext.sql("SELECT * FROM df WHERE v IN {0}".format(("foo", "bar"))).count()

または、DataFrame DSL は動的クエリのためのより良いオプションを提供します:

from pyspark.sql.functions import col

df.where(col("v").isin({"foo", "bar"})).count()

以上がIN 句を使用して PySpark データフレームを効率的にフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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