您可以通過添加罐子裏,由你的第一個鏈接描述創建臨時的功能利用在蜂巢的UDF。
add file GeoIP.dat;
add jar geo-ip-java.jar;
add jar hive-udf-geo-ip-jtg.jar;
create temporary function geoip as 'com.jointhegrid.hive.udf.GenericUDFGeoIP';
您可以更改函數名,無論你願意,只需經過任何你想要的「臨時函數」,從「geoip的」取代。
添加您鏈接到數據庫下載到您的UNIX服務器,然後使用gzip解壓縮它的問題。一旦它處於GeoIP.dat格式,將它和您下載的jar文件移動到您的/ users /(您的用戶名)/目錄中,然後按照上面的說明運行代碼。這些文件必須位於頂層目錄中,或者在添加文件期間明確定位,並添加jar語句。我的意思是代替add file GeoIP.dat;
它必須是add file /users/wertz/downloads/GeoIP.dat;
例如。
最後,通過查看代碼UDF需要三個參數。第一個參數是IP地址,第二個參數是你要找的是什麼(選擇似乎是COUNTRY_NAME,COUNTRY_CODE,AREA_CODE,市,DMA_CODE,緯度,經度,METRO_CODE,POSTAL_CODE,地區,ORG,或ID)和最終值是geoip的數據庫,希望你沒有從GeoIP.dat改變
感謝您輸入的文件名。我如何創建Jar文件?我在哪裏運行「add file add jar geo-ip-java.jar;」 (在配置單元,命令行等)? –
您不需要爲此創建jar文件,只需下載最初發布的鏈接中包含的內容即可。你的Unix系統,運行蜂巢,然後運行該命令的 –
我混帳克隆「蜂房geoip的」倉庫 然後,我跑到下面的命令,我得到錯誤(你可以請儘量在你結束了嗎?): 蜂巢>添加罐子地理-ip-java.jar; 地理IP-java.jar不存在 查詢返回的非零代碼:1,原因:地理IP-java.jar不前 –