данных и читая из Distributed таблицы получаю пустое множество. В db_name.bid_agg_ifa_local  на этой ноде тоже пусто. У нас есть кластер, по кластеру размазана основная таблица. Все новые данные, попадающие в эту таблицу через матвью переливаются в другую таблицу AggregatingMergeTree, код ее созданию приведен ниже create table db_name.bid_agg_ifa_local on cluster '{cluster}'
                  
                  
                   (
                  
                  
                    ts                          DateTime,
                  
                  
                    event_date                  date,
                  
                  
                    device_id                   String,
                  
                  
                    geo_hash_2                  String,
                  
                  
                    geo_hash_3                  String,
                  
                  
                    geo_hash_4                  String,
                  
                  
                    geo_hash_5                  String,
                  
                  
                    geo_hash_6                  String,
                  
                  
                    geo_hash_7                  String,
                  
                  
                    geo_hash_8                  String,
                  
                  
                    geo_hash_9                  String,
                  
                  
                    cnt AggregateFunction(sum, UInt32),
                  
                  
                    INDEX uuid_bloom device_id TYPE bloom_filter(0.01) GRANULARITY 1
                  
                  
                   )
                  
                  
                  engine = AggregatingMergeTree()
                  
                  
                  PARTITION BY toYYYYMMDD(event_date)
                  
                  
                  order by (geo_hash_2, geo_hash_3, geo_hash_4, ts, geo_hash_5, geo_hash_6, geo_hash_7, geo_hash_8, geo_hash_9)
                  
                  
                  primary key (geo_hash_2, geo_hash_3, geo_hash_4, ts, geo_hash_5, geo_hash_6, geo_hash_7, geo_hash_8, geo_hash_9)
                  
                  
                  ;
                  
                  
                  
                  
                  
                  CREATE TABLE db_name.bid_agg_ifa on cluster '{cluster}' AS db_name.bid_agg_ifa_local
                  
                  
                  ENGINE = Distributed('{cluster}', db_name, bid_agg_ifa_local, sipHash64(device_id)); В чем модет быть причина? Подскажите, пожалуйста
                  
                  
                
AggregatingMergeTree() я бы ожидал увидеть ReplicatedAggregatingMergeTree() это осознаннно? основная таблица Replicated? или нет?
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  все именно так, основная таблица ReplicatedMergeTree, а эта была создана как AggregatingMergeTree.Спасибо за подсказку!
 Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Igor
                          Gorbenko
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Приветствую! Все получилось как подсказали, но почему то в агрегационной таблицы не бьются данные с исходной таблицей db_name.bid_agg_ifa. Общая сумма по полю агрегации (cnt) сходится, но, например, не хватает некоторых device_id да и вообще если проверять по каждому конкретному device_id между двумя таблицами - всегда есть расхождения. Если бы общая сумма не билась, я бы грешил на задержку во поставке данных в агрегационную таблицу. Где копать?
device_id не в order by у ReplicatedAggregatingMergeTree т.е. вам надо понять matview вообще вообще никак совсем не связано с ReplicatedAggregatingMergeTree
Обсуждают сегодня