BigTable是否允许设置微时间戳粒度

Does BigTable allow setting micro timestamp granularity

我正在尝试将时间戳作为微粒度的单元格写入 Bigtable。此处的文档说我应该能够将粒度设置为微米:https://cloud.google.com/bigtable/docs/reference/data/rpc/google.bigtable.v2#google.bigtable.v2.Mutation.SetCell

但是如果您查看 java 客户端,我看不到除了 millis 之外的其他设置选项。 https://cloud.google.com/bigtable/docs/reference/admin/rpc/google.bigtable.admin.v2#google.bigtable.admin.v2.Table.TimestampGranularity

Ruby 客户相同 https://github.com/googleapis/google-cloud-ruby/blob/master/google-cloud-bigtable/lib/google/cloud/bigtable/instance.rb#L548

有谁知道是否可以将粒度设置为微米级?

Google API Documentation所述:

If unspecified at creation time, the value will be set to MILLIS

看来您创建BigTable时需要将粒度设置为微米,除非,它会被设置为默认为毫秒。除此之外,如Package google.bigtable.v2 documentation, there is the function TimestampRangeFilterMicros that you can use with values in micros - more information in this BigTable documentation here.

中所述

如果这些信息对您有帮助,请告诉我!

我联系了 google,他们确认他们只支持以毫秒为单位设置单元格时间戳,即使时间戳在内部似乎存储为微秒。

这是他们的 C++ 库所说的

Cloud Bigtable currently supports only millisecond granularity in the cell timestamps, both TIMESTAMP_GRANULARITY_UNSPECIFIED and MILLIS have the same effect. Creating cells with higher granularity than the supported value is rejected by the server.

https://googleapis.github.io/google-cloud-cpp/latest/bigtable/classgoogle_1_1cloud_1_1bigtable_1_1v1_1_1TableConfig.html#a4ee0e2162c04b1e67bbac98605d165fd