Я не могу найти документацию в Интернете, есть ли что-то вроде INET_ATON в AWS Redshift. Поэтому я думаю, что это еще не все, но мне интересно, может ли быть какое-то обходное решение. BTW Я использую данные max_mind.INET_ATON эквивалент в AWS Redshift
1
A
ответ
0
Я закончил создание обертки в Python (который является основным языком, который я использую), который переводит строку IP в число и затем использует ее.
2
Для временного решения можно использовать:
SELECT ipAddr,
SPLIT_PART(ipAddr, '.', 1)* 16777216::bigint +
SPLIT_PART(ipAddr, '.', 2)* 65536::bigint +
SPLIT_PART(ipAddr, '.', 3)* 256::bigint +
SPLIT_PART(ipAddr, '.', 4)::bigint AS addressRange
FROM <your_table) LIMIT 5
addressRange должен соответствовать, чтобы Maxmind startIpNum < < addressRange endIpNum.
0
Я загрузил блоки стран и расположения в одноименных том CSV таблиц и присоединился со следующим запросом
INSERT INTO dim.geoip_country
SELECT
SPLIT_PART(first_ip, '.', 1) * 16777216::BIGINT
+ SPLIT_PART(first_ip, '.', 2) * 65536::BIGINT
+ SPLIT_PART(first_ip, '.', 3) * 256::BIGINT
+ SPLIT_PART(first_ip, '.', 4)::BIGINT AS ip_inf,
SPLIT_PART(first_ip, '.', 1) * 16777216::BIGINT
+ SPLIT_PART(first_ip, '.', 2) * 65536::BIGINT
+ SPLIT_PART(first_ip, '.', 3) * 256::BIGINT
+ SPLIT_PART(first_ip, '.', 4)::BIGINT
+ POW(2, 32 - mask_bits)::BIGINT AS ip_sup,
network,
isocode2,
name,
continent_code,
continent_name,
is_anonymous_proxy,
is_satellite_provider
FROM (
SELECT
b.network,
SPLIT_PART(b.network, '/', 1) AS first_ip,
SPLIT_PART(b.network, '/', 2)::INTEGER AS mask_bits,
l.country_iso_code AS isocode2,
l.country_name AS name,
l.continent_code AS continent_code,
l.continent_name AS continent_name,
b.is_anonymous_proxy::BOOLEAN AS is_anonymous_proxy,
b.is_satellite_provider::BOOLEAN AS is_satellite_provider
FROM ext.geoip2_country_blocks_ipv4 b
JOIN ext.geoip2_country_locations_en l
ON b.geoname_id = l.geoname_id
)
Смежные вопросы
- 1. эквивалент INET_ATON() в mongodb
- 2. windows эквивалент inet_aton
- 3. MongoDB в AWS Redshift
- 4. Что такое эквивалент SQL Server INET_ATON
- 5. PHP-эквивалент для INET_NTOA и INET_ATON
- 6. .NET Эквивалент для INET_NTOA и INET_ATON
- 7. Redshift эквивалент NLS_DATE_FORMAT
- 8. Нагрузочные испытания AWS Redshift
- 9. AWS Redshift column limit?
- 10. Ошибка AWS Redshift UDF
- 11. AWS Redshift driver в Цеппелине
- 12. Альтернатива UDF в aws redshift
- 13. AWS Redshift JDBC insert performance
- 14. AWS Redshift + Tableau Performance Booster
- 15. Геопространственный анализ с AWS Redshift
- 16. Поддерживает ли AWS Redshift реплика?
- 17. AWS Redshift COPY от S3
- 18. AWS redshift блокирует мой IP
- 19. AWS Redshift table-value function
- 20. Очистить кеш на AWS Redshift
- 21. AWS Redshift Posix pattern matching
- 22. Манипулирование данных В AWS Redshift в Перечне
- 23. Запрос переменных строк JSON в AWS Redshift
- 24. Запрос строк JSON в AWS Redshift
- 25. Поворот нечисловой таблицы в AWS Redshift
- 26. AWS Redshift - загрузка в поле TIMESTAMP
- 27. RabbitMQ в AWS Redshift с использованием NodeJS
- 28. Как удалить NaNs в aws redshift
- 29. Как рассчитать медиану в AWS Redshift?
- 30. Разгрузка Несколько таблиц в AWS Redshift