成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

大數(shù)據(jù)開發(fā)--基于ip2region實現(xiàn)在流式數(shù)據(jù)ip歸屬轉換

IT那活兒 / 1365人閱讀
大數(shù)據(jù)開發(fā)--基于ip2region實現(xiàn)在流式數(shù)據(jù)ip歸屬轉換

點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了!?。?/span>





文章前言



我們在流式計算數(shù)據(jù)加工流程中,有個場景是實現(xiàn)一種基于流式數(shù)據(jù)里面ip轉換成對應的歸屬地信息,這個場景首先想到是如何找一個符合條件的ip映射庫,而這個ip映射庫需滿足如下條件:

1. 性能好:因為實時數(shù)據(jù)量大,每條數(shù)據(jù)都需要實時調用,獲取ip映射關系,所以性能要好,如果延時較大,會影響后面流程節(jié)點處理;

2. 開源,能擴展:開源,能內網(wǎng)部署,并提供擴展功能,支持加新的ip映射關系;

3. 方便調用:支持api調用,且精準率要高。

通過調研,開源ip2region.db數(shù)據(jù)庫符合我們上面實際場景需求,本文檔主要介紹在flink流式計算中如何使用了ip2region,通過測試程序了解flink 是如何加載外部文件機制,如需了解ip2region更多詳情,可自行到官網(wǎng)地址查閱https://github.com/lionsoul2014/ip2region





功能實現(xiàn)



1. 下載項目

git  clone https://github.com/lionsoul2014/ip2region.git

2. 引用maven依賴

程序引用ip2region依賴。

<dependency>

<groupId>org.lionsoulgroupId>

<artifactId>ip2regionartifactId>

<version>1.7.2version>

dependency>


3. demo編寫

api比較簡單就三行代碼,采用的是memory查詢算法。





打包測試



程序打包成功后,將程序提交到flink on yarn 環(huán)境之前,我們要考慮ip2regiog.db存儲的位置及加載方式,否則在分布式環(huán)境下flink程序是無否讀到該數(shù)據(jù)庫:

方式一:ip2region.db庫放入hadoop各計算節(jié)點:

將ip2region.db數(shù)據(jù)庫文件放入hadoop各計算節(jié)點上指定位置上(如:/home/gpadmin/jar_repo/config/ip2region.db),由分配到此計算節(jié)點flink任務到指定目錄下加載對應的數(shù)據(jù)庫文件,實現(xiàn)ip歸屬轉換。

1)新建basic.config配置文件,加入配置項

ip2region.db.file.path:/home/ip2region.db      //指定讀取的路徑。

2)提交測試程序到y(tǒng)arn

flink run -m yarn-cluster -p 1 -yjm 1024 -ytm 1024 -ynm 
ipregiontest  -c com.shsnc.fk.task.metricnormal.MetricsCollectTask regiondb.jar basic.config

輸出計算結果:

2021-12-17 16:27:26,470 INFO 
com.XXXXX.fk.task.dataprocess.function.DataProcessPreRichMap
Func [] - regin:中國|0|XXX|XXX|XX

3)分析加載流程

我們在flink run 啟動命行里面,沒有直接指向ip2region.db加載方式,而是在應用程序加載配置項獲取對應的數(shù)據(jù)庫文件存儲位置,通過觀察任務提交到flink on yarn 環(huán)境過程中,發(fā)現(xiàn)提交任務過程,tm自動會將該數(shù)據(jù)庫文件放入yarn任務緩存目錄下(Task ClassPath),任務運行過程中會到緩存目錄下找到數(shù)據(jù)庫文件。

ps -ef|grep  container_1636698971952_0029_01_000002(容器id)。

ll  /proc/進程號。

這種方式測試程序可以找到ip2region.db數(shù)據(jù)庫文件,并且能計算出所需要ip歸屬,缺點是每臺hadoop計算節(jié)點上都要將ip2region.db數(shù)據(jù)庫文件放入指定位置,否則會提示讀不到數(shù)據(jù)庫文件現(xiàn)象,如果集群環(huán)境節(jié)點較多使用起來并不方便。

方式二:一次性加載方式

通過檢查flink run命令參數(shù),發(fā)現(xiàn)-yt 參數(shù)方式很好解決我們當前面臨的問題,先看一下參數(shù)的使用說明:

參數(shù)方式方式是 -yt 目錄名,該參數(shù)意思是在指定目錄中傳輸文件,處理流程如下:

-yt 目錄名--hdfs(存儲)--tm(下載)-tm(classpath)。

1)提交任務

flink run -m yarn-cluster -p 1 -yjm 1024 -ytm 1024 -yt 
/home/gpadmin/jar_repo/config -ynm ipregiontest -c com.XXXXX.fk.task.metricnormal.MetricsCollectTask regiondb.jar basic.config

注意這里指定是目錄,而不是指定的是具體加載的文件。

2)hdfs查找存儲位置

hdfs dfs -find hdfs://master:port/   -iname “ip2region.db”

可以看出flink 任務在提交過程中,會將ip2region.db自動存儲在hdfs上flink對應的任務目錄下,同時把-yt 提向的目錄(config )也存儲了。

3)自動下載

檢查每個haoop計算節(jié)點,tm會自動到hdfs上下載ip2region.db存放到緩存目錄下(Task ClassPath),所以任務運行過程就要讀到ip2region.db數(shù)據(jù)庫文件,通過api很方便獲取ip歸屬。





文章小結



方案二相比方案一優(yōu)勢明顯,只需提交任務的時候指定外部文件在存儲的目錄,提交的過程,會自動分發(fā)到各個計算節(jié)占的任務所在的classpath中,很好解決了外部文件加載的問題。



本文作者:暨景書

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/129568.html

相關文章

  • ip地址查詢-最新純真IP數(shù)據(jù)庫-純真真實ip查詢地址

    摘要:實際時間以官網(wǎng)為準地址在線查詢這個工具不錯的,可以同時查詢純真數(shù)據(jù)的數(shù)據(jù),還有淘寶數(shù)據(jù)這四個平臺顯示的數(shù)據(jù),可以作為歸屬地的參考最后如果您還有哪些純真數(shù)據(jù)庫的查詢網(wǎng)站,也可以分享一下哦國內目前查詢IP的地方有很多,比如:ip138、ipip.net、ip.cn等很多平臺,都可以查詢到IP。一般國內民用查詢較多的是ip138.com,目前國內很多比如:百度查詢IP或站長工具等都是調用ip138...

    yexiaobai 評論0 收藏0
  • 自研實時計算模塊介紹及運維數(shù)據(jù)應用場景實施

    自研實時計算模塊介紹及運維數(shù)據(jù)應用場景實施 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    不知名網(wǎng)友 評論0 收藏2564
  • 后端好書閱讀與推薦(續(xù)六)

    摘要:可以通過大數(shù)據(jù)生態(tài)的一系列工具生態(tài)來解決大數(shù)據(jù)問題數(shù)據(jù)分片主要有兩種方式哈希和范圍。哈希的問題是范圍查詢支持不佳,范圍的問題是可能冷熱數(shù)據(jù)不均。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續(xù))后端好書閱讀與推薦(續(xù)二)后端好書閱讀與推薦(續(xù)三)后端好書閱讀與推薦(續(xù)四)后端好書閱讀與推薦(續(xù)五)后端好書閱讀與推薦(續(xù)六) Elasticsearch權威指南 El...

    shleyZ 評論0 收藏0
  • 后端好書閱讀與推薦(續(xù)六)

    摘要:可以通過大數(shù)據(jù)生態(tài)的一系列工具生態(tài)來解決大數(shù)據(jù)問題數(shù)據(jù)分片主要有兩種方式哈希和范圍。哈希的問題是范圍查詢支持不佳,范圍的問題是可能冷熱數(shù)據(jù)不均。 后端好書閱讀與推薦系列文章:后端好書閱讀與推薦后端好書閱讀與推薦(續(xù))后端好書閱讀與推薦(續(xù)二)后端好書閱讀與推薦(續(xù)三)后端好書閱讀與推薦(續(xù)四)后端好書閱讀與推薦(續(xù)五)后端好書閱讀與推薦(續(xù)六) Elasticsearch權威指南 El...

    z2xy 評論0 收藏0
  • 持續(xù)更新免費的API,做一個API的搬運工

    摘要:為了方便廣大的開發(fā)者,特此統(tǒng)計了網(wǎng)上諸多的免費,為您收集免費的接口服務,做一個的搬運工,以后會每月定時更新新的接口。將長段中文切詞分開。 為了方便廣大的開發(fā)者,特此統(tǒng)計了網(wǎng)上諸多的免費API,為您收集免費的接口服務,做一個api的搬運工,以后會每月定時更新新的接口。有些接口來自第三方,在第三方注冊就可以成為他們的會員,免費使用他們的部分接口。 百度AccessToken:針對HTTP ...

    Shihira 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<