การกรองแถวบน Spark สำหรับหลายคอลัมน์ที่แชร์ค่าเดียวกัน [ซ้ำกัน]

ฉันพยายามค้นหาสิ่งนี้ใน stackoverflow แต่หาไม่พบ มีไวยากรณ์ประกายไฟที่กรองว่าคอลัมน์ตั้งแต่สองคอลัมน์ขึ้นไปมีค่าเท่ากันหรือไม่ เช่นบางอย่างเช่น

dataFrame.filter($"col01" == $"col02"== $"col03")


person user98235    schedule 03.09.2019    source แหล่งที่มา


คำตอบ (1)


ใช่แล้ว คุณเกือบจะถูกต้องแล้ว ใส่ 3 '=' ระหว่างพวกเขา

dataFrame.filter($"col01" === $"col02"=== $"col03")

ตัวอย่าง:

val df = spark.sparkContext.parallelize(Array((1,1,1),(1,2,3))).toDF("col01","col02","col03")

df.filter($"col01" === $"col02"=== $"col03").show(false)

ผลลัพธ์:

ผลลัพธ์

person Teja Parimi    schedule 03.09.2019