BigTable-您可以存储布尔值吗?

时间:2019-01-17 09:12:52

标签: google-cloud-bigtable

是否可以存储布尔值?

我尝试在BigTable中存储True值,并收到错误消息:

  

TypeError:无法将True转换为字节

查看GitHub中的代码,使用了函数_to_bytes,如果无法将其转换为字节,则会引发错误。

是否存在建议的存储布尔数据的方法?还是我应该强制转换为True / False,然后在检索数据时记得将值转换回布尔值?

2 个答案:

答案 0 :(得分:2)

这是HBase如何将布尔值转换为Bytes.java中的字节:

  public static byte [] toBytes(final boolean b) {
    return new byte[] { b ? (byte) -1 : (byte) 0 };
  }

Java cloud-bigtable-client鼓励Java用户使用该类将基元转换为值。其他库中可能应该有一个类似的类,以帮助鼓励常见的转换。

答案 1 :(得分:1)

您无法使用Python在BigTable中存储布尔类型。

这是documentation关于可以存储在BigTable中的数据类型的说明:

  

Cloud Bigtable在大多数情况下会将所有数据视为原始字节字符串

因此,看来您最好的选择就是将“ True / False”转换为字符串,并在获取数据时将其转换回布尔值。

相关问题