Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menapis DataFrames PySpark dengan Cekap Menggunakan Klausa IN?

Bagaimana untuk Menapis DataFrames PySpark dengan Cekap Menggunakan Klausa IN?

Patricia Arquette
Patricia Arquetteasal
2024-12-28 21:57:11349semak imbas

How to Efficiently Filter PySpark DataFrames Using an IN Clause?

Mengendalikan Penapisan DataFrame Pyspark dengan Klausa IN

Menapis DataFrame Pyspark dengan klausa IN seperti SQL boleh dicapai dengan pemformatan rentetan.

Dalam contoh yang diberikan:

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

Rentetan dihantar ke SQLContext dinilai dalam persekitaran SQL dan tidak menangkap penutupan. Untuk menghantar pembolehubah secara eksplisit, gunakan pemformatan rentetan:

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

Sebagai alternatif, DataFrame DSL menyediakan pilihan yang lebih baik untuk pertanyaan dinamik:

from pyspark.sql.functions import col

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

Atas ialah kandungan terperinci Bagaimana untuk Menapis DataFrames PySpark dengan Cekap Menggunakan Klausa IN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn