有没有办法在 Kusto 中克隆表?

迪拉吉

有没有办法完全克隆 Kusto 中的表,使其具有原始表的所有范围?即使不可能保留范围,至少有一种将表复制到新表的高效方法。我尝试了以下方法:-

.set new_table <| existing_table;

它一直在运行并出现超时错误。有没有办法复制,所以 Kusto 引擎认识到这只是一个转储副本,所以它不会使用 Kusto 引擎,它只会从后端做一个简单的 blob 复制,并简单地将新表指向复制的 blob,从而绕过整个Kusto加工路线?

约尼

1.可以使用您提到的命令将一个表的模式和数据复制到另一个表(复制数据的另一种选择是其内容导出到云存储中,然后使用 Kusto 的摄取 API或使用它的工具摄取结果存储工件,例如LightIngestADF )

当然,如果源表有大量数据,那么您可能希望将此命令拆分为多个命令,每个命令处理源数据的一个子集(例如,您可以按时间对其进行“分区”)。

下面只是一个例子(这显然取决于你在源表中有多少数据):

.set-or-append [async] new_table <| existing_table | where ingestion_time() > X and ingestion_time() < X + 1h

.set-or-append [async] new_table <| existing_table | where ingestion_time() >= X+1h and ingestion_time() < X + 2h

...

请注意,这async是可选的,是为了避免潜在的客户端超时(默认为 10 分钟后)。命令本身会继续在后端运行长达 60 分钟的不可配置的超时(尽管强烈建议避免此类长时间运行的命令,例如通过执行上述“分区”)。

2.对于您的另一个问题:没有选项可以在不重新摄取数据的情况下在表之间复制数据(一个范围/数据分片目前不能属于超过 1 个表)。

3.如果您需要将摄取到表 T1 中的数据“复制”到表 T2 中,并且 T1 和 T2 都在同一个数据库中,则可以使用更新策略来实现

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章