使用此模式在 Tinybird 中创建数据源可以按预期工作
DESCRIPTION generated from ../datasets/posts_1K.csv
SCHEMA >
`date` Date,
`post_id` Int32,
`views` Int32
ENGINE MergeTree
ENGINE_SORTING_KEY date, post_id
我想知道是否可以在排序键的表达式之一中更改排序方向。这个模式失败了
DESCRIPTION generated from ../datasets/posts_1K.csv
SCHEMA >
`date` Date,
`post_id` Int32,
`views` Int32
ENGINE MergeTree
ENGINE_SORTING_KEY date DESC, post_id
做
tb push datasources/posts_1K_sorted_date_desc_post_id.datasource
时。还尝试过 ENGINE_SORTING_KEY "date DESC, post_id"
这样的事情在 ClickHouse 上是否可能实现?不确定是否可以阅读 docs
另外 - 这样的事情在任何情况下都有意义吗?
ENGINE_SORTING_KEY 日期 DESC
不可能。没有计划实施。 对于大多数用例来说没有意义。
CH 能够使用
ENGINE_SORTING_KEY date ASC
来优化 select order by date desc
在极少数情况下,它可以改善简短的精确实时查询。人们使用 hack
order by -date
或 order by additional_date_substracted_from_max_date
https://github.com/ClickHouse/ClickHouse/issues/11564#issue-635913235
TinyBird 不允许您更新架构的引擎排序键。您必须使用所需的定义创建一个新架构。旁注,您无法删除列、更新列名称或更新列的类型(您应该能够通过添加列)。
在 Tiny Bird 中更改模式并不容易,而且在许多情况下目前是不可能的。我了解到,提前准确规划出您想要的架构是很好的。另外,您的排序键应该反映您计划如何查询数据,我了解到排序键应该从最低基数到最高基数排序 https://www.tinybird.co/clickhouse/knowledge-base/sorting-key-performance
不确定这是否是点击屋的事情,但我知道 TinyBird 不允许您进行此类更改。
如果您想将数据从旧数据源移至新数据源,我建议使用 SQL、脚本或使用管道/MV 将数据通过管道传输到新架构中。