gpt4 book ai didi

google-cloud-platform - 有没有办法在 Cloud BigTable 中转储 bool 对象?

转载 作者:行者123 更新时间:2023-12-01 03:02:41 26 4
gpt4 key购买 nike

我有一些用例,其中 api 服务使用 rowKey 检索 BigTable 行。我正在经历的问题是 api 服务正在尝试检索一些具有 bool 值的列并在前端进行 bool 比较。由于 BigTable 不支持该数据类型。前端服务对比部分未按预期工作。我正在使用以下代码在 BigTable 中存储 bool 值。

                    Boolean value = Boolean.parseBoolean(newImageMap.get(Key).toString());
SetCell setCell = SetCell.newBuilder()
.setFamilyName(Utility.COLUMN_FAMILY)
.setColumnQualifier(Utility.str_to_bb(Key,StandardCharsets.UTF_8))
.setTimestampMicros(yearAgoMillis)
.setValue(ByteString.copyFrom(Bytes.toBytes(value)))
// .setValue(Utility.str_to_bb(String.valueOf(value),StandardCharsets.UTF_8))
.build();

但是 bool 值在 BigTable 中存储为字符串。您可以在下面的快照中看到存储的值。如果有办法处理此类用例,请告诉我。 boolean-value-ss

最佳答案

所以这有两个部分:使用现有的 bool 字符串值,并将当前设置转换为更易于使用。

要使用当前设置,您只需将结果与“true”和“false”字符串进行比较。根据您在与 Pievis 的评论中的讨论,这似乎不是您想要做的。

因此要转换当前设置:您应该将 0 用作 false,将 1 用作 true(或者您可以留空作为 false)这将更节省空间。然后要转换所有现有值,您必须对值“true”进行全表扫描过滤,然后将这些单元格更新为 1 和一个在值“false”上过滤并删除这些值的单元格细胞。

关于google-cloud-platform - 有没有办法在 Cloud BigTable 中转储 bool 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60101217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com