1

该文档指出:

http://snappydatainc.github.io/snappydata/rowAndColumnTables/

“使用 PARTITION_BY {COLUMN} 子句提供一组将确定分区的列名”

我希望以下列作为分区键:id_time_

CREATE TABLE EXAMPLE_COLUMN_TABLE (     id_ VARCHAR(64),    name_ VARCHAR(128),     time_ TIMESTAMP,    number_ INTEGER     ) USING column  OPTIONS(PARTITION_BY 'time_, id_', buckets '113', PERSISTENT 'ASYNCHRONOUS');

当我运行它时,它说一切都很好,但是,如果我执行snappy >describe example_column_table, time_ 和 id_ 仍然显示为 IS_NULLABLE = YES。

如果我只执行 PARTIION_BY 'time_',然后执行 snappy > describe example_column_table,则该列显示为 IS_NULLABLE = NO。

所以,我担心多列名分区不起作用?

4

1 回答 1

1

即使您指定多个分区列,列表分区也能正常工作。您可以通过查询计划验证这两列都将被选为分区列。

IS_NULLABLE 问题特定于 CLOB (VARCHAR) 列类型。您能否尝试遵循 DDL,其中第二个分区列 number_ 不是 CLOB,它也变为 IS_NULLABLE --> NO

snappy> 创建表EXAMPLE_COLUMN_TABLE2(id_VARCHAR(64),name_VARCHAR(128),time_TIMESTAMP,number_INTEGER)使用列选项(PARTITION_BY'time_,number_',桶'113',PERSISTENT'ASYNCHRONOUS');

于 2016-08-05T05:26:55.433 回答