比较python/databricks中sql查询的计数返回?
Posted
技术标签:
【中文标题】比较python/databricks中sql查询的计数返回?【英文标题】:Compare return of count from sql query in python/databricks? 【发布时间】:2021-09-03 20:54:10 【问题描述】:我想返回sql计数结果,如果计数大于0我想诱导一个失败函数。
但是,我遇到了一个错误。我认为这是因为 id_of_zero_count 是一个字符串,不能与整数进行比较?
id_of_zero_count = sql(""" SELECT count(*) cnt FROM schema.table where ID = 0 """.format(val))
#BU.collect[0][0] returns the value of the first row & first column
display(id_of_zero_count)
if id_of_zero_count > 0:
print("Quality check not passed")
induce_fail_func()
这是返回的错误:
TypeError: '>' not supported between instances of 'DataFrame' and 'int'
TypeError Traceback (most recent call last)
<command-873419207778593> in <module>
----> 1 if id_of_zero_count > 0:
2 print("Quality check not passed")
3 induce_fail_func()
TypeError: '>' not supported between instances of 'DataFrame' and 'int'
【问题讨论】:
【参考方案1】:sql 查询返回一个数据框,您应该在显示调用中看到它。
您可以改为获取第一行的第一个元素:
if id_of_zero_count.first()[0] > 0:
print("Quality check not passed")
induce_fail_func()
【讨论】:
返回 TypeError: 'DataFrame' object is not callable以上是关于比较python/databricks中sql查询的计数返回?的主要内容,如果未能解决你的问题,请参考以下文章
将字典保存为 pyspark 数据框并加载它 - Python、Databricks