Flume同步到hdfs上根據(jù)文件名自動創(chuàng)建目錄源碼更改

背景:

現(xiàn)項目從外圍數(shù)據(jù)接收到文件通過Flume-ng同步到hdfs上兆览,但Flume只能根據(jù)sink配置到指定目錄悼沈,無法根據(jù)文件名生成相應(yīng)的hdfs目錄贱迟。

例如: 文件2018070304112301859017101.txt.gz要放到HDFS的路徑/home/hadoop/netlog/source/201807/20180703/2018070304下

通過走讀代碼更改org.apache.flume.sink.hdfs.HDFSEventSink即可。

從CDH網(wǎng)站上下載flume的源碼:

下載

地址:http://archive.cloudera.com/cdh5/cdh/5/

可能導(dǎo)入到myeclipse或idel中進行mvn編譯下載依賴的包(MVN請自行配置井辆,最好用國內(nèi)阿里的鏡像庫关筒,不要把時間浪費在等待上。)

從sink中讀取文件寫入到HDFS是由process()方法完成杯缺。


從上以代碼可以看到realPath,realName即是要寫入到hdfs的路徑及文件名蒸播,以下代碼也可以驗證。


我們只需要更改process中realPath的值即可實現(xiàn)根據(jù)文件名realName解析生成路徑萍肆,以下代碼為代碼片碼:

因為我們要測試所以嚴(yán)格按照日期格式為2018開始后6位全是數(shù)字這種格式來做正則匹配袍榆。

如果覺得MVN編輯太慢或有些依賴包無法下載,可以采取以下簡單辦法塘揣。

1包雀、新建一個包 包的名字org.apache.flume.sink.hdfs

即HDFSEventSink.java 中包的定義package org.apache.flume.sink.hdfs;

2、在此包下新建class ,名字HDFSEventSink

3亲铡、把flume/lib下的jar包全部引入到此工程中才写,解決代碼中的錯誤

4葡兑、對新建的HDFSEventSink進行編譯。會在你的工程下面生成相應(yīng)的class文件


5赞草、把系統(tǒng)中的flume-hdfs-sink-1.6.0-cdh5.14.0.jar用winRAR打開

6讹堤、把第四步編譯好的HDFSEventSink.class復(fù)到flume-hdfs-sink-1.6.0-cdh5.14.0.jar即可,并?上傳到flume/lib下厨疙。

7洲守、測試在把文件2018070304112301859017101.txt.gz復(fù)制到flume配置的源目錄中(spooldir中)

8、在hdfs中正常生成文件及目錄正常復(fù)制到hdfs路徑下沾凄。

注:更通用的辦法是在flume的配置文件中自己定義參數(shù)在configure進行取值梗醇,根據(jù)取的參數(shù)進行解碼走不同的程序流程,程序片段如下:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撒蟀,一起剝皮案震驚了整個濱河市叙谨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牙肝,老刑警劉巖唉俗,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異配椭,居然都是意外死亡虫溜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門股缸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衡楞,“玉大人,你說我怎么就攤上這事敦姻●常” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵镰惦,是天一觀的道長迷守。 經(jīng)常有香客問我,道長旺入,這世上最難降的妖魔是什么兑凿? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮茵瘾,結(jié)果婚禮上礼华,老公的妹妹穿的比我還像新娘。我一直安慰自己拗秘,他們只是感情好圣絮,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著雕旨,像睡著了一般扮匠。 火紅的嫁衣襯著肌膚如雪捧请。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天棒搜,我揣著相機與錄音血久,去河邊找鬼。 笑死帮非,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讹蘑。 我是一名探鬼主播末盔,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼座慰!你這毒婦竟也來了陨舱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤版仔,失蹤者是張志新(化名)和其女友劉穎游盲,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛮粮,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡益缎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了然想。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片莺奔。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖变泄,靈堂內(nèi)的尸體忽然破棺而出令哟,到底是詐尸還是另有隱情,我是刑警寧澤妨蛹,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布屏富,位于F島的核電站,受9級特大地震影響蛙卤,放射性物質(zhì)發(fā)生泄漏狠半。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一表窘、第九天 我趴在偏房一處隱蔽的房頂上張望典予。 院中可真熱鬧,春花似錦乐严、人聲如沸瘤袖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捂敌。三九已至艾扮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間占婉,已是汗流浹背泡嘴。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逆济,地道東北人酌予。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像奖慌,于是被迫代替她去往敵國和親抛虫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350