DataLakeAnalytics: 解析IP地址對應的國家城市地址的能力

ip

Data Lake Analytics 做爲雲上數據處理的樞紐,最近加入了經過IP地址查找對應的國家、省份、城市、ISP的函數, 今天帶你們體驗一下。mysql

函數詳細介紹

本次一共添加了下面這些函數:sql

  • 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)數據庫

參數詳解:app

  • 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的一種快捷用法,參數較少,這幾個函數風格相似,兩種調用方式:ide

ip_country(ip)函數

ip_country(ip, lang)網站

參數詳解:spa

  • ip: 要查詢的IP地址
  • lang: cn/en, 返回結果的語言

ip2long/long2ip

ip2long(ip)
long2ip(longVal)code

Lets make some fun!

廢話很少說,咱們直接來體驗一下:ip

先來看看國內的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庫進行更新,更多詳細的介紹能夠直接去咱們的官網試用。

Happy DLAing!

參考資料

做者: xumingmingv
原文連接 本文爲雲棲社區原創內容,未經容許不得轉載。 

相關文章
相關標籤/搜索