如何使用python API在bigtable上应用日期时间过滤器

时间:2018-12-08 12:54:42

标签: python-3.x google-cloud-platform bigtable google-cloud-bigtable

我尝试使用下面的代码在两种情况下过滤两个日期之间的记录,但是在以下范围内失败。

DurationFrom =“ 2018-01-9”
DurationTo =“ 2018-01-10”

并按预期运行

DurationFrom =“ 2018-01-01”
DurationTo =“ 2018-01-03”

>>> DurationFrom ="2018-01-9"                                                                                                                                                                                                                 
>>> DurationTo = "2018-01-10"                                                                                                                                                                                                              
>>> visit_dt_filter = ValueRangeFilter(start_value = DurationFrom, end_value = DurationTo)
>>> col1_filter = ColumnQualifierRegexFilter(b'visit_dt')
>>> chain1 = RowFilterChain(filters=[col1_filter, visit_dt_filter])
>>> partial_rows = table.read_rows(filter_=chain1)
>>> count = 0
>>> for row in partial_rows:
...     count += 1

代码以错误结尾:

  

“链接行过滤器#1中的错误:字段'value_range_filter'中的错误   :开始值必须小于结束值”

我怀疑基于ASCII的比较因此失败。

在这种情况下,如何使用ValueRangefilter? 还有另一个过滤器ValueRegexFilter,它对过滤日期值很有用吗?它如何执行?

1 个答案:

答案 0 :(得分:1)

这是问题所在

  

DurationFrom =“ 2018-01-9”
  DurationTo =“ 2018-01-10”

必须是

  

DurationFrom =“ 2018-01-09”
  DurationTo =“ 2018-01-10”

'9'>'1'