大数据实战电信客服
本項目主要步驟:項目需求分析、環境準備、具體項目實現
一、項目需求分析
?????????主要工作是將生產出來的數據通過flume進行采集,然后使用kafka的消息隊列實時傳輸移動數據保存到HBase中,最后通過MapReduce操作將整體數據顯示到前端頁面
二、環境準備
1、啟動zookeeper集群:zk.sh start
2、啟動kafka集群:kf.sh start
3、啟動hadoop集群:myhadoop.sh start
4、啟動Hbase:bin/start-hbase.sh
二、項目實現
1、準備數據
首先準備初始的移動通話數據用于生成電信call.log:
編寫代碼生產數據(部分代碼如下:)
主任務(通過傳入兩個數據地址參數,保存數據):
?(1)、首先從本地地址讀取數據,轉換數據類型,然后根據要劃分數據的類型(主叫,被叫,通話時間、通話時長)進行設置
?(2)將數據刷洗到文件中
生成的通話日志如下:主要包括主叫、被叫、通話時間、通話時長
?最后將代碼打包成jar包在linux中運行(通過xftp進行傳輸)
?java -jar ct-producer.jar /opt/module/data/contact.log /opt/module/data/call.log
2、采集數據、消費數據
編寫flume采集然后kafka進行隊列傳輸進行消費,flume-2-kafka.conf
在kafka進行消費之前要配置kafka的主題:
?可以將消費的數據打印到控制臺
?3、HBase保存數據
在kafka消費數據的同時,將數據依次插入到HBASE中,而之前到對HBase進行配置,創建命名空間和表,設置rowkey、列族等信息。
?插入數據到不同的分區,避免數據傾斜。
?可在HBase官網提供的工具中查看:http://hadoop102:16010/
?查看分區劃分
?在linux中查看具體數據分區
?
?
?
總結
- 上一篇: MySQL 定时任务 重启失效
- 下一篇: Python中MNE库的脑电地形图绘制