Bab*_*abu 14 pyspark spark-dataframe
Pyspark中LIKE运算符的等价物是什么?例如,我想做:
SELECT * FROM table WHERE column LIKE "*somestring*";
Run Code Online (Sandbox Code Playgroud)
寻找像这样简单的东西(但这不起作用):
df.select('column').where(col('column').like("*s*")).show()
Run Code Online (Sandbox Code Playgroud)
bra*_*raj 28
您可以使用where和col执行相同的操作.where将用于根据条件过滤数据(这里,如果列是这样的'%string%').在col('col_name')用于表示的条件和like为操作者:
df.where(col('col1').like("%string%")).show()
Run Code Online (Sandbox Code Playgroud)
Rah*_*hul 10
使用 like 运算符。
https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#module-pyspark.sql.functions
df.filter(df.column.like('%s%')).show()
Run Code Online (Sandbox Code Playgroud)
使用spark 2.0.0以后也可以正常工作:
df.select('column').where("column like '%s%'").show()
要复制不区分大小写的ILIKE,您可以lower与 结合使用like。
from pyspark.sql.functions import lower
df.where(lower(col('col1')).like("%string%")).show()
Run Code Online (Sandbox Code Playgroud)
嗯......应该有像regexp这样的sql - >
df.select('column').where(col('column').like("%s%")).show()
Run Code Online (Sandbox Code Playgroud)
小智 5
这对我有用:
import pyspark.sql.functions as f
df.where(f.col('column').like("%x%")).show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35162 次 |
| 最近记录: |