Точность набора данных geolite_city_bq_b2

Я считаю, что в BigQuery есть неточности fh-bigquery.geocode.geolite_city_bq_b2 набор данных, и мне любопытно, если бы другие тоже это заметили.

Предыстория: у меня запущен код BigQuery от Ramtin M. Seraj, и его / моя логика кажется здравой. Однако существуют IP-адреса, которые, как известно, представляют определенные места, например, Токио, 150.249.199.17, но которые указаны в запросе Рамтина в Рочестере, штат Нью-Йорк, США или в Оттаве, штат Калифорния. Если логика запроса правильная, то единственный вывод заключается в том, что базовый набор данных Geolite - нет.

Чтобы проверить, посмотрите на результаты этого запроса:

SELECT *
FROM `fh-bigquery.geocode.geolite_city_bq_b2b`
WHERE classB = 38649

Обратите внимание на эти результаты, которые startIp = 150.245.0.0 и endIp = 150.249.255.255, поэтому адрес 150.249.199.17 находится в этом диапазоне IP.

Теперь сравните с результатами из https://ipinfo.io/150.249.199.17, а также с результатами следующего BigQuery. Обратите внимание, что все вычисленные значения, такие как IPV4_TO_INT64() IP-адреса, попадают в диапазоны, возвращаемые запросом выше.

SELECT '150.249.199.17' as ipAddress
  , NET.IPV4_TO_INT64(NET.IP_FROM_STRING('150.249.199.17')) AS clientIpNum_int
  , TRUNC(NET.IPV4_TO_INT64(NET.IP_FROM_STRING('150.249.199.17'))/(256*256)) AS classB
  , CAST(TRUNC(NET.IPV4_TO_INT64(NET.IP_FROM_STRING('150.249.199.17'))/(256*256)) as INT64) as client_classB_int

ps Я бы добавил первый ответ или добавил бы комментарий, но мне пока не хватает Репутонов!

1 ответ

Я собираюсь опубликовать значительно улучшенную версию Geolite в BigQuery. Оставайтесь с нами на https://twitter.com/felipehoffa и https://medium.com/@hoffa. И я тоже обновлю этот ответ.

С учетом сказанного, чтобы ответить на вопрос о точности, который задает этот вопрос, Максминд говорит:

Базы данных GeoLite2 - это бесплатные базы данных геолокации IP, сравнимые, но менее точные, чем базы данных MaxMind GeoIP2.

Другие вопросы по тегам