有效检查列值是否包含列表中的一个单词

时间:2019-12-18 09:50:24

标签: string dataframe pyspark

df = spark.createDataFrame([("Lily lives in New-York",), 
                            ("John lives in Budapest",), 
                            ("Mary lives in Lisbon",)], 
                           ["text",])
europe_capitals = ("Budapest", "Lisbon")

如何有效地检查df.text列中的文本包含europe_capitals中的一个(或多个)单词?

例如,我该怎么做:

from pyspark.sql import functions as F
df.where(F.col("text").containsOneFrom(europe_capitals))

df = df.withColumn("contains_eu_capital", contains_capital(F.col("text"))

例如使用UDF,但是效率很高?

0 个答案:

没有答案