我有一个字符串变量dest
,它包含一定的值。我需要检查注册的temptable上是否存在此变量。我使用以下查询来查找它。
terminatecheck = sqlContext.sql("""
SELECT 1 as op from known where node = """+dest +""" and 1=1
""")
现在我需要将terminatecheck的值与" 1"进行比较。并终止循环。 我查了一下,发现terminatecheck是一个行对象。我究竟如何比较这个?
if terminatecheck.op =="1":
不起作用
答案 0 :(得分:0)
调用sqlContext.sql("Select...")
将返回惰性评估的dataframe
。您需要调用first
,take
或collect
之类的操作来获取评估的表达式并返回值。您可能希望调用first
,它返回单行(类型为Row
)。 take
和collect
返回一个数组(类型为Array[Row]
)。
terminatecheck = sqlContext
.sql("""SELECT 1 as op from known where node = """+dest +""" and 1=1""")
.first