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庫進行更新,更多詳細的介紹可以直接去我們的官網試用。
,