我有在Windows Server 2012下运行的CrateDb版本3.2.7。我创建了一个这样的表:
创建表test3(第一列bigint主键,第二列int,第三列时间戳,第四列double,第五列double,sixtcolumn smallint,第七列double,heightcolumn int,ninthcolumn smallint,tenthcolumn smallint)聚集成12个分片,其中(val_of_re_ = 0);
因此,我希望第一个列是第一个,依此类推。但是创建之后,当我执行SELECT * FROM test3时,会得到以下结果:
返回的第一列似乎是“第五列”。看起来这些列是按字母顺序返回的。
这是否意味着CrateDB按照该顺序创建了列?它能使订单保持在某个地方吗?如果列按字母顺序排列,这是否意味着如果我要将数据从另一个dbms复制到CrateDB,那么我必须根据字母顺序导出数据?
答案 0 :(得分:1)
不一定要插入,仅当省略它们时,它们才必须按字母顺序see here。秩序似乎并没有被“保留”在任何地方。
INSERT
是另一种导入策略,与旧的GEO_POINT
不能完全一样。我建议编写一个命令行应用程序以将数据导入cratedb。 COPY FROM不执行任何类型检查,也不会强制转换类型,并且将始终像在源文件(see here)中一样导入数据。从另一个问题,我看到您可能有与gps相关的数据(?),您将需要手动将它们映射到{{1}}类型,就像一个示例一样。
Crate通过bulk endpoint
可提供良好的性能(无论对您或我而言意味着什么)