Flume基礎(六) 企業開發案例(三)

2022-05-07 22:48:23 字數 2977 閱讀 3448

1)案例需求:使用 flume 監聽整個目錄的檔案

2)需求分析:

3)實現步驟:

1.建立配置檔案 flume-dir-hdfs.conf

建立乙個檔案

[atguigu@hadoop102 job]$ touch flume-dir-hdfs.conf
開啟檔案

[atguigu@hadoop102 job]$ vim flume-dir-hdfs.conf
新增如下內容

a3.sources =r3

a3.sinks =k3

a3.channels =c3

# describe/configure the source

a3.sources.r3.type =spooldir

a3.sources.r3.spooldir = /opt/module/flume/upload

a3.sources.r3.filesuffix =.completed

a3.sources.r3.fileheader = true

#忽略所有以.tmp 結尾的檔案,不上傳

a3.sources.r3.ignorepattern = ([^ ]*\.tmp)

# describe the sink

a3.sinks.k3.type =hdfs

a3.sinks.k3.hdfs.path =hdfs:

//hadoop102:9000/flume/upload/%y%m%d/%h

#上傳檔案的字首

a3.sinks.k3.hdfs.fileprefix = upload-#是否按照時間滾動資料夾

a3.sinks.k3.hdfs.round = true

#多少時間單位建立乙個新的資料夾

a3.sinks.k3.hdfs.roundvalue = 1

#重新定義時間單位

a3.sinks.k3.hdfs.roundunit =hour

#是否使用本地時間戳

a3.sinks.k3.hdfs.uselocaltimestamp = true

#積攢多少個 event 才 flush 到 hdfs 一次

a3.sinks.k3.hdfs.batchsize = 100

#設定檔案型別,可支援壓縮

a3.sinks.k3.hdfs.filetype =datastream

#多久生成乙個新的檔案

a3.sinks.k3.hdfs.rollinterval = 600

#設定每個檔案的滾動大小大概是 128m

a3.sinks.k3.hdfs.rollsize = 134217700

#檔案的滾動與 event 數量無關

a3.sinks.k3.hdfs.rollcount = 0

#最小冗餘數

2. 啟動監控資料夾命令

[atguigu@hadoop102 flume]$ bin/flume-ng agent --conf conf/ --name 

a3 --conf-file job/flume-dir-hdfs.conf

說明: 在使用 spooling directory source 時

1) 不要在監控目錄中建立並持續修改檔案

2) 上傳完成的檔案會以.completed 結尾

3) 被監控資料夾每 500 毫秒掃瞄一次檔案變動

3. 向 upload 資料夾中新增檔案

在/opt/module/flume 目錄下建立 upload 資料夾

[atguigu@hadoop102 flume]$ mkdir upload
向 upload 資料夾中新增檔案

[atguigu@hadoop102 upload]$ touch atguigu.txt

[atguigu@hadoop102 upload]$ touch atguigu.tmp

[atguigu@hadoop102 upload]$ touch atguigu.log

4. 檢視 hdfs 上的資料

5. 等待 1s,再次查詢 upload 資料夾

[atguigu@hadoop102 upload]$ ll

總用量

0 -rw-rw-r--. 1 atguigu atguigu 0

5 月 20

22:31

atguigu.log.completed

-rw-rw-r--. 1 atguigu atguigu 0

5 月 20

22:31

atguigu.tmp

-rw-rw-r--. 1 atguigu atguigu 0

5 月 20

22:31 atguigu.txt.completed

Flume基礎(四) 企業開發案例(一)

1 案例需求 首先,flume 監控本機 44444 埠,然後通過 telnet 工具向本機 44444 埠發 送訊息,最後 flume 將監聽的資料實時顯示在控制台。2 需求分析 3 實現步驟 1 安裝 telnet 工具 將 rpm 軟 件 包 xinetd 2.3.14 40.el6.x86 ...

Hive UDF開發案例

bin hive中操作 臨時函式的使用 add jar home hadoop lib train 1.0 snapshot.jar 將上傳的jar包匯入到classpath變數裡 list jars 檢視匯入的jar包 create temporary function say hello as ...

移動端開發案例

touchstart touchmove touchend 可以實現拖動元素 但是拖動元素需要當前手指的座標值 我們可以使用 targettouches 0 裡面的pagex 和 pagey 移動端拖動的原理 手指移動中,計算出手指移動的距離。然後用盒子原來的位置 手指移動的距離 手指移動的距離 手...