04案例 實時讀取本地檔案

2021-09-26 15:11:30 字數 2127 閱讀 2067

實時讀取本地檔案到hdfs案例

案例需求:實時監控hive日誌,並上傳到hdfs中

1.flume想要將資料輸出到hdfs,必須持有hadoop相關jar包
將commons-configuration-1.6.jar、hadoop-auth-2.7.2.jar、hadoop-common-2.7.2.jar、

hadoop-hdfs-2.7.2.jar、commons-io-2.4.jar、htrace-core-3.1.0-incubating.jar

2.建立"flume-file-hdfs.conf"檔案並修改
touch flume-file-hdfs.conf

vim flume-file-hdfs.conf

# name the components on this agent

a2.sources = r2

a2.sinks = k2

a2.channels = c2

# describe/configure the source

a2.sources.r2.type = exec

a2.sources.r2.command = tail -f /opt/module/hive/logs/hive.log

a2.sources.r2.shell = /bin/bash -c

# describe the sink

a2.sinks.k2.type = hdfs

a2.sinks.k2.hdfs.path = hdfs://hadoop102:9000/flume/%y%m%d/%h

#上傳檔案的字首

a2.sinks.k2.hdfs.fileprefix = logs-

#是否按照時間滾動資料夾

a2.sinks.k2.hdfs.round = true

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

a2.sinks.k2.hdfs.roundvalue = 1

#重新定義時間單位

a2.sinks.k2.hdfs.roundunit = hour

#是否使用本地時間戳

a2.sinks.k2.hdfs.uselocaltimestamp = true

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

a2.sinks.k2.hdfs.batchsize = 1000

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

a2.sinks.k2.hdfs.filetype = datastream

#多久生成乙個新的檔案

a2.sinks.k2.hdfs.rollinterval = 600

#設定每個檔案的滾動大小

a2.sinks.k2.hdfs.rollsize = 134217700

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

a2.sinks.k2.hdfs.rollcount = 0

#最小冗餘數

a2.sinks.k2.hdfs.minblockreplicas = 1

# use a channel which buffers events in memory

a2.channels.c2.type = memory

a2.channels.c2.capacity = 1000

a2.channels.c2.transactioncapacity = 100

# bind the source and sink to the channel

a2.sources.r2.channels = c2

a2.sinks.k2.channel = c2

3.執行監控配置
bin/flume-ng agent --conf conf/ --name a2 

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

4.開啟hadoop和hive並操作hive產生日誌
sbin/start-dfs.sh

sbin/start-yarn.sh

bin/hive

5.在hdfs上檢視檔案
"node01:50070"

05案例 實時讀取目錄檔案

實時讀取目錄檔案到hdfs案例 案例需求 使用flume監聽整個目錄的檔案 1.建立配置檔案 flume dir hdfsconf touch flume dir hdfs.conf vim flume dir hdfs.conf a3.sources r3 a3.sinks k3 a3.chann...

6 案例 人臉案例

1 得到影象的特徵後,訓練乙個決策樹構建的adaboost級聯決策器來識別是否為人臉 2 opencv中自帶已訓練好的檢測器,包括面部,眼睛,貓臉等,都儲存在xml檔案中,我們可以通過以下程式找到他們 主程式如下 import cv2 as cv import matplotlib.pyplot a...

10案例分析

銀行 信用風險,即客戶違約風險,是銀行風險管控的主要內容。不同行業,不同企業,財務指標的風險程度不同。假資料,假資訊,假報表的現象,財務資訊的質量問題有三個方面是非常重要的 1.建立識別假報表的管理體系 2.研究建立財務資訊的勾稽關係,即通過相互之間的購機關係的檢驗來判別資料的質量 3.建立資料的錄...