大数据课程H2——TELECOM的电信流量项目实现

news/2025/2/12 15:19:01/

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 了解TELECOM项目的数据收集;

⚪ 了解TELECOM项目的数据清洗;

⚪ 了解TELECOM项目的数据导出;

⚪ 了解TELECOM项目的数据可视化;

⚪ 了解TELECOM项目的其他;

一、数据收集

1. 在实际生产环境中,电信流量日志肯定不只是在一台服务器上产生,而是每一台服务器都会产生流量日志。所以此时,需要先搭建Flume的扇入流动模型,之后将收集到的数据传输到HDFS上进行存储。

2. 步骤:

a. 在第二台和第三台服务器上来创建对应的目录用于存储日志(将第二台和第三台服务器当作是日志产生的服务器) 。

cd /home

mkdir telecomlog

b. 进入对应的目录,将日志上传或者下载到指定目录下(实际过程中,日志肯定是实时产生的) 。

cd telecomlog/

#云主机的下载地址

 wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/103_20150615143630_00_00_000_2.csv

c. 收集第二台和第三台服务器上的日志,将收集到的日志传输到第一台服务器上,进行数据的扇入。

cd /home/software/apache-flume-1.9.0-bin/data

#编辑文件

vim telecomlog.conf

#在文件中添加如下内容

a1.sources = s1

a1.channels = c1

a1.sinks = k1

# 日志是放在指定目录下的

# 所以此时监控指定目录下的变化

# 如果目录下产生了新的文件

# 需要收集这个新文件中的内容

a1.sources.s1.type = spooldir

# 指定要监听的目录

a1.sources.s1.spoolDir = /home/telecomlog

# 配置Channel

a1.channels.c1.type = memory

a1.channels.c1.capacity = 10000

a1.channels.c1.transactionCapacity = 1000

# 需要将收集到的数据发送到第一台服务器上

a1.sinks.k1.type = avro

a1.sinks.k1.hostname = hadoop01

a1.sinks.k1.port = 8090

# 绑定

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

d. 数据收集到第一台服务器上之后,需要将收集到的数据写到HDFS上。

cd /home/software/apache-flume-1.9.0-bin/data/

#编辑文件

vim telecomlog.conf

#在文件中添加如下内容

a1.sources = s1

a1.channels = c1

a1.sinks = k1

# 需要接收第二台和第三台服务器传输来的数据

a1.sources.s1.type = avro

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

# 需要在数据中来添加一个时间戳

a1.sources.s1.interceptors = i1

a1.sources.s1.interceptors.i1.type = timestamp

# 配置Channel

a1.channels.c1.type = memory

a1.channels.c1.capacity = 10000

a1.channels.c1.transactionCapacity = 1000

# 配置Sink

# 需要将数据写到HDFS上,最好能够实现数据按天存储

a1.sinks.k1.type = hdfs

# 指定数据在HDFS上的存储路径

a1.sinks.k1.hdfs.path = hdfs://hadoop01:9000/telecomlog/reporttime=%Y-%m-%d

# 指定文件在HDFS上的存储类型

a1.sinks.k1.hdfs.fileType = DataStream

# 指定文件的滚动时间间隔

a1.sinks.k1.hdfs.rollInterval = 3600

a1.sinks.k1.hdfs.rollSize = 0

a1.sinks.k1.hdfs.rollCount = 0

# 绑定

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

e. 启动HDFS。

start-dfs.sh

f. 启动第一台服务器上的Flume。

../bin/flume-ng agent -n a1 -c ../conf -f telecomlog.conf -

Dflume.root.logger=INFO,console

g. 启动第二台服务器和第三台服务器上的Flume。

../bin/flume-ng agent -n a1 -c ../conf -f telecomlog.conf -

Dflume.root.logger=INFO,console

二、数据清洗

1. 利用Flume将数据收集到了HDFS上,那么此时需要在Hive中建表来管理原始数据。

#启动YARN

start-yarn.sh

#进入HBase的安装目录的lib目录下

cd /home/software/hbase-2.4.2/lib

#进入子目录

cd client-facing-thirdparty/

#重命名

mv commons-logging-1.2.jar commons-logging-1.2.bak

mv log4j-1.2.17.jar log4j-1.2.17.bak

mv slf4j-log4j12-1.7.30.jar slf4j-log4j12-1.7.30.bak

#启动Hive的服务进程

hive --service metastore &

hive --service hiveserver2 &

#进入hive的客户端

hive

#创建库

create database telecom;

#使用这个库


http://www.ppmy.cn/news/1015040.html

相关文章

Ubuntu-Server 22.04安装详细过程-图文版

一.下载Ubuntu Server镜像,官方地址下载即可 https://ubuntu.com/download/server 乌班图镜像网址,点击下载即可 二.安装乌班图镜像,最好自己准备u盘在ISO软件内制作完成 1.选择 Install Ubuntu Server 2.选择安装语言为英语 3.安装程序更新选…

深入篇【C++】C++<继承>特性详细总结附代码案例(单继承/多继承)

深入篇【C】C<继承>特性详细总结(单继承/多继承&#xff09; Ⅰ.继承理解Ⅱ.继承方式Ⅲ.基类派生类对象赋值转化Ⅳ.继承中同名成员Ⅴ.派生类的默认成员函数Ⅵ.继承中友元与静态Ⅶ.多继承<菱形继承问题>Ⅷ.继承与组合 Ⅰ.继承理解 继承的本质就是复用&#xff0c;而…

vue组件基本使用

Vue中使用组件的三大步骤&#xff1a; 一、定义组件(创建组件) 使用Vue.extend(options)创建&#xff0c;其中options和new Vue(options)时传入的那个options几乎一样&#xff0c;但也有点区别&#xff1b; 区别如下&#xff1a; 1.el不要写 ——— 最终所有的组件都要经过一个…

Redshift 新表 自动赋权

"grant all on all tables" 只会将已有的对象进行赋权。对于未来新建的对象&#xff0c;不会赋权。 为了解决这个问题&#xff0c; Redshift 中有一个 "DEFAULT PRIVILEGES" 的概念。 可以让新建的对象自动赋权给某个Role或User 例句如下&#xff1a; …

Blazor前后端框架Known-V1.2.11

V1.2.11 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazo…

Linux 中利用设备树学习Ⅳ

系列文章目录 第一章 Linux 中内核与驱动程序 第二章 Linux 设备驱动编写 &#xff08;misc&#xff09; 第三章 Linux 设备驱动编写及设备节点自动生成 &#xff08;cdev&#xff09; 第四章 Linux 平台总线platform与设备树 第五章 Linux 设备树中pinctrl与gpio&#xff08;…

前端面试的性能优化部分(4)每天10个小知识点

目录 系列文章目录前端面试的性能优化部分&#xff08;1&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;2&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;3&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;4&#xff09;每天…

【设计模式】责任链的基本概念及使用Predicate灵活构造校验链

文章目录 1. 概述1.1.背景1.2.责任链模式的概念 2.责任链的基本写法2.1.链表实现2.2.数组实现 3.Predicate校验链2.1.使用Predicate改写代码2.1.更丰富的条件拓展 4.总结 1. 概述 1.1.背景 在最近的开发中遇到了这么一个需求&#xff0c;需要对业务流程中的各个参数做前置校验…