是否可以在 SELECT 或 spark 中的 WHERE 语句中使用字符串?
Is it possible to use a string in a SELECT or WHERE statement in spark?
我正在处理一些文本数据,并将它们转换为可解释的命令,这些命令将用作 WHERE 语句的参数,但我得到一个字符串,但我不知道如何使用它。
例如来自字符串:
'c_programme_nom == "2-Broke-Girls"'
我得到:
"F.col('name').like('%2-Broke-Girls%')"
但是我得到了一个字符串,我想将它用作 WHERE 语句中的参数。
预期结果为:
df.where(F.col('name').like('%2-Broke-Girls%'))
不知道有没有办法实现
您似乎要执行包含以下代码的字符串:
您可以在 python 中使用 exec
:
exec()函数用于动态执行Python程序,可以是字符串也可以是目标代码。如果它是一个字符串,则该字符串被解析为一组 Python 语句,然后执行,除非发生语法错误,如果它是一个目标代码,则简单地执行它。
exec('print("The sum of 5 and 10 is", (5+10))')
# The sum of 5 and 10 is 15
我正在处理一些文本数据,并将它们转换为可解释的命令,这些命令将用作 WHERE 语句的参数,但我得到一个字符串,但我不知道如何使用它。
例如来自字符串:
'c_programme_nom == "2-Broke-Girls"'
我得到:
"F.col('name').like('%2-Broke-Girls%')"
但是我得到了一个字符串,我想将它用作 WHERE 语句中的参数。
预期结果为:
df.where(F.col('name').like('%2-Broke-Girls%'))
不知道有没有办法实现
您似乎要执行包含以下代码的字符串:
您可以在 python 中使用 exec
:
exec()函数用于动态执行Python程序,可以是字符串也可以是目标代码。如果它是一个字符串,则该字符串被解析为一组 Python 语句,然后执行,除非发生语法错误,如果它是一个目标代码,则简单地执行它。
exec('print("The sum of 5 and 10 is", (5+10))')
# The sum of 5 and 10 is 15