встроенные гео-словари со следующей ошибкой:
                  
                  
                  
                  
                  
                  <Error> EmbeddedDictionaries: Cannot load dictionary! You must resolve this manually.: Code: 0, e.displayText() = DB::Exception: Region id is too large: 1000006, should be not more than 1000000
                  
                  
                  
                  
                  
                  Судя по коду:
                  
                  
                  
                  
                  
                  https://github.com/yandex/ClickHouse/blob/master/dbms/src/Dictionaries/Embedded/RegionsHierarchy.cpp#L41
                  
                  
                  https://github.com/yandex/ClickHouse/blob/master/dbms/src/Dictionaries/Embedded/RegionsNames.cpp#L59
                  
                  
                  
                  
                  
                  это ограничение:
                  
                  
                  
                  
                  
                  const size_t max_size = 1000000;
                  
                  
                  
                  
                  
                  Но наши словари опираются на базу geonames.org, на которую, в т.ч., опирается поставщик данных MaxMind, где максимальный geoname_id (в терминах CH - это region_id), который используется нами - это 11073439.
                  
                  
                  
                  
                  
                  Появилось это в этом коммите https://github.com/yandex/ClickHouse/commit/f9eb536825ae3cfab65b1d8d37a2bdd67c58010d
                  
                  
                  
                  
                  
                  С чем связанно такое ограничение max_size ? 
                  
                  
                  
                  
                  
                  Можно ли предложить PR по увеличению этого лимита до 20 млн ?
                  
                  
                
Действительно. Выглядит как надуманное ограничение. Такое ощущение, что предполагалось, что вся геобаза будет лежать в виде недо-хэштаблицы (т.е. попросту массива размером миллион), где комфортно расположились бы все айдишники по порядку, почти без пропусков, видимо из какой-то внутренней яндексовской геобазы. Я нашёл вариант, как это "закостылить" и прикрутить сюда базу максмайнд: перенумеровать айдишники максмайнд и создать кастомный внешний словарь с отображением из одних id в другие (+скрипт для регулярного обновления получившегося дикта). Только так появляется возможность использовать встроенные в КХ геофункции. Разумеется, остаётся ещё вариант использовать собственные внешние словари, а не геофункции КХ. Но, конечно, я не оставляю надежды, что разработчики кх исправят этот недочет, и добавят возможность использовать обычные хэш-таблицы для хранения геобазы.
Если до этого всё работало нормально, то давай PR, и просто увеличим.
Обсуждают сегодня