Pyspark: filter dataframe by regex with string formatting?
I used the following for the timestamp regex
expression = r'[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]) (2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]'
df1 = df.filter(df['eta'].rlike(expression))
Try rlike function as mentioned below.
df.filter(<column_name> rlike "<regex_pattern>")
for example.
dk = dx.filter($"keyword" rlike "<pattern>")
From neeraj's hint, it seems like the correct way to do this in pyspark is:
expr = "Arizona.*hot"
dk = dx.filter(dx["keyword"].rlike(expr))
Note that dx.filter($"keyword" ...)
did not work since (my version) of pyspark didn't seem to support the $
nomenclature out of the box.