Cassandra:查询结果中缺少列
Cassandra: Missing column in query results
这里有一个奇怪的。
我有一个 Cassandra table,叫它 "test"。它有几列。这些是通过 Java 驱动程序查询的,使用简单的 "select * from test where uuid=foo".
这在本地有效,返回所有列。
然而,在生产环境中,一列被删除,尽管其中有数据(这表明该列可以写入)。
我查看了 Row 对象的 ColumnDefinitions,它确实不包含有问题的列。
为什么?谁有可行的理论?
如果您使用 'select *' 作为 PreparedStatement,您将需要在架构发生变化(添加或删除列)时重新准备语句。 Cassandra 在 2.1.3 之前不会在模式更改时更新它的准备语句缓存,因此这不适用于以前的版本。
参见:
这里有一个奇怪的。
我有一个 Cassandra table,叫它 "test"。它有几列。这些是通过 Java 驱动程序查询的,使用简单的 "select * from test where uuid=foo".
这在本地有效,返回所有列。
然而,在生产环境中,一列被删除,尽管其中有数据(这表明该列可以写入)。
我查看了 Row 对象的 ColumnDefinitions,它确实不包含有问题的列。
为什么?谁有可行的理论?
如果您使用 'select *' 作为 PreparedStatement,您将需要在架构发生变化(添加或删除列)时重新准备语句。 Cassandra 在 2.1.3 之前不会在模式更改时更新它的准备语句缓存,因此这不适用于以前的版本。
参见: