ホームページ >データベース >mysql チュートリアル >IN 句を使用して PySpark データフレームを効率的にフィルタリングする方法
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 サイトの他の関連記事を参照してください。