共計 2183 個字符,預計需要花費 6 分鐘才能閱讀完成。
DataLakeAnalytics 函數如何解析 IP 地址對應的國家城市地址,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Data Lake Analytics 作為云上數據處理的樞紐,最近加入了通過 IP 地址查找對應的國家、省份、城市、ISP 的函數, 今天帶大家體驗一下。
函數詳細介紹
本次一共添加了下面這些函數:
ip2region: 功能最全的函數,可以獲取國家,省份,城市的信息,而且支持語言切換, 但是參數較多。
ip_country: 獲取 IP 地址對應的國家。
ip_province: 獲取 IP 地址對應的地址 / 省。
ip_city: 獲取 IP 地址對應的城市。
ip_isp: 獲取 IP 地址對應的 ISP(Internet Service Provider) 的信息。
ip2long: 把 IP 地址轉換成一個數字。
long2ip: 把數字轉換成一個 IP 地址。
ip2region
ip2region(ip, level, lang)
參數詳解:
ip: 要查詢的 IP 地址
level: country/province/city/isp
lang: cn/en, 返回結果的語言
ip_country/ip_province/ip_city/ip_isp
ip_country/ip_province/ip_city/ip_isp 是 ip2region 的一種快捷用法,參數較少,這幾個函數風格類似,兩種調用方式:
ip_country(ip)
ip_country(ip, lang)
參數詳解:
ip: 要查詢的 IP 地址
lang: cn/en, 返回結果的語言
ip2long/long2ip
ip2long(ip)
long2ip(longVal)
Lets make some fun!
廢話不多說,我們直接來體驗一下:
先來看看國內的 ip:
mysql select ip2region(115.239.210.27 , country , CN),
ip_country(115.239.210.27),
ip_province(115.239.210.27),
ip_city(115.239.210.27),
ip_isp(115.239.210.27)\G
*************************** 1. row ***************************
ip2region(115.239.210.27 , country , CN): 中國
ip_country(115.239.210.27): 中國
ip_province(115.239.210.27): 浙江
ip_city(115.239.210.27): 杭州
ip_isp(115.239.210.27): 電信
1 row in set (0.14 sec)
再來看個國外的 ip:
mysql select ip2region(31.13.79.1 , country , CN),
ip_country(31.13.79.1),
ip_province(31.13.79.1),
ip_city(31.13.79.1),
ip_isp(31.13.79.1)\G
*************************** 1. row ***************************
ip2region(31.13.79.1 , country , CN): 印度
ip_country(31.13.79.1): 印度
ip_province(31.13.79.1): 馬哈拉施特拉邦
ip_city(31.13.79.1): 孟買
ip_isp(31.13.79.1):
1 row in set (0.08 sec)
最后咱再來切換個語言:
mysql select ip2region(31.13.79.1 , country , EN),
ip_country(31.13.79.1 , EN),
ip_province(31.13.79.1 , EN),
ip_city(31.13.79.1 , EN),
ip_isp(31.13.79.1 , EN)\G
*************************** 1. row ***************************
ip2region(31.13.79.1 , country , EN): India
ip_country(31.13.79.1 , EN): India
ip_province(31.13.79.1 , EN): Maharashtr
ip_city(31.13.79.1 , EN): Mumbai
ip_isp(31.13.79.1 , EN):
1 row in set (0.06 sec)
我們今天介紹了 DLA 里面 IP 地址支持相關的一些函數,這些函數對于用戶分析,特別是網站訪問用戶的地域分析的時候非常有用,在其它數據庫里面你可能需要自己實現 UDF,或者在應用層進行處理;我們 DLA 里面已經把這種能力內置了,并且會及時的對 IP 庫進行更新。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。