Python,phoenixdb - 没有得到一行(但也没有得到任何错误)
Posted
技术标签:
【中文标题】Python,phoenixdb - 没有得到一行(但也没有得到任何错误)【英文标题】:Python, phoenixdb - not getting a row (but not getting any errors either) 【发布时间】:2017-02-15 08:33:40 【问题描述】:我设置了一个 Apache Phoenix DB,我正在尝试使用 Python 和 PhoenixDb 插件对其进行查询。
我有一个包含以下行的表格:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| PK | did | sensorid | sensor_timestamp | EXTRA_LEVEL | EXTRA_SCALE | EXTRA_HEALTH | EXTRA_STATUS | EXTRA_PLUGGED | EXTRA_PRESENT | EXTRA_VOLTAGE | level_percent | temperature_C | EXTRA_TECHNOLOGY | EXTRA_TEMPERATURE |
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当我尝试使用 phoenixdb 查询它时,它遗漏了 1 行我没有得到,但是我没有收到任何错误。
我的查询代码是:
import phoenixdb
connection = phoenixdb.connect(<url>)
cursor = connection.cursor()
query = """select PK,"did", "sensorid", "sensor_timestamp", 3
from "sensor_data"
where "did"='0'
and "sensorid" = '1'
and "sensor_timestamp" > '2'
order by "sensor_timestamp"
limit 10""".format(357139052213522, 902, 1463163952256, '"EXTRA_LEVEL", "EXTRA_SCALE", "EXTRA_HEALTH", ' \
'"EXTRA_STATUS" "EXTRA_PLUGGED", "EXTRA_PRESENT", ' \
'"EXTRA_VOLTAGE", "level_percent", "temperature_C", ' \
'"EXTRA_TECHNOLOGY","EXTRA_TEMPERATURE"')
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
print(row)
我的输出是这样的:
['357139052213522_1486731821342_902', '357139052213522', '902', '1486731821342', '64', '100', '2', '2', 'true', '3990', '64.0', '25.0', 'Li-ion', '257']
通过计算,我发现缺少一件物品。有没有人知道这可能是由于什么原因造成的?
【问题讨论】:
【参考方案1】:好的。这是一个非常愚蠢的错误。我发现我的查询中遗漏了一个逗号。修复它可以解决所有问题:
query = """select PK,"did", "sensorid", "sensor_timestamp", 3
from "sensor_data"
where "did"='0'
and "sensorid" = '1'
and "sensor_timestamp" > '2'
order by "sensor_timestamp"
limit 10""".format(357139052213522, 902, 1463163952256, '"EXTRA_LEVEL", "EXTRA_SCALE", "EXTRA_HEALTH", ' \
'"EXTRA_STATUS", "EXTRA_PLUGGED", "EXTRA_PRESENT", ' \
'"EXTRA_VOLTAGE", "level_percent", "temperature_C", ' \
'"EXTRA_TECHNOLOGY","EXTRA_TEMPERATURE"')
【讨论】:
以上是关于Python,phoenixdb - 没有得到一行(但也没有得到任何错误)的主要内容,如果未能解决你的问题,请参考以下文章
尝试在Python中将集合的结果写入csv文件,但只打印一行
storm问题记录 python 不断向kafka中写消息,spout做为消费者从kafka中读消息并emit给bolt,但是部分消息没有得到bolt的处理