【问题标题】:How to apply datetime filter on bigtable using python api如何使用 python api 在 bigtable 上应用日期时间过滤器
【发布时间】:2019-05-09 23:59:16
【问题描述】:

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

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' 中的错误 : start_value 必须小于 end_value"

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

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

【问题讨论】:

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


    【解决方案1】:

    这就是问题所在:

    DurationFrom ="2018-01-9"
    DurationTo = "2018-01-10"

    应该是

    DurationFrom ="2018-01-09"
    DurationTo = "2018-01-10"

    '9' > '1'

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 2021-08-31
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      相关资源
      最近更新 更多