ビッグデータコース H2 - テレコムの通信トラフィックプロジェクトの実現

記事著者の電子メール: [email protected] 住所: 広東省恵州市

 ▲ この章の目的

⚪ TELECOM プロジェクトのデータ収集を理解する。

⚪ TELECOM プロジェクトのデータ クリーニングを理解します。

⚪ TELECOM プロジェクトのデータエクスポートを理解します。

⚪ TELECOM プロジェクトのデータ視覚化を理解します。

⚪ TELECOM プロジェクトの他の側面について学びます。

1. データ収集

1. 実際の運用環境では、通信トラフィック ログは 1 つのサーバー上で生成されるだけではなく、すべてのサーバーで生成されます。そのため、現時点では、まず Flume のファンイン フロー モデルを構築し、収集したデータを HDFS に転送して保存する必要があります。

2. 手順:

a. 2 番目と 3 番目のサーバーにログを保存するための対応するディレクトリを作成します (2 番目と 3 番目のサーバーをログが生成されるサーバーとします)。

CD/ホーム

mkdirテレコムログ

b. 対応するディレクトリを入力し、指定したディレクトリにログをアップロードまたはダウンロードします (実際のプロセスでは、ログはリアルタイムで生成される必要があります)。

cdテレコムログ/

# クラウドホストのダウンロードアドレス

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

c. 2 番目と 3 番目のサーバーでログを収集し、収集したログをデータ ファンインのために最初のサーバーに転送します。

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

#ファイルを編集する

vimテレコムログ.conf

#以下をファイルに追加します

a1.ソース = s1

a1.チャンネル = c1

a1.シンク = k1

# ログは指定されたディレクトリに配置されます

# したがって、この時点で指定されたディレクトリの変更を監視します

# ディレクトリに新しいファイルが作成された場合

# この新しいファイルの内容を収集する必要があります

a1.sources.s1.type = spooldir

# リッスンするディレクトリを指定します

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

# チャネルを設定する

a1.channels.c1.type = メモリ

a1.チャンネル.c1.容量 = 10000

a1.channels.c1.transactionCapacity = 1000

# 収集したデータを最初のサーバーに送信する必要がある

a1.sinks.k1.type = アブロ

a1.sinks.k1.hostname = hadoop01

a1.sinks.k1.port = 8090

# 練る

a1.sources.s1.channels = c1

a1.シンク.k1.チャンネル = c1

d. 最初のサーバーでデータが収集された後、収集されたデータを HDFS に書き込む必要があります。

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

#ファイルを編集する

vimテレコムログ.conf

#以下をファイルに追加します

a1.ソース = s1

a1.チャンネル = c1

a1.シンク = k1

# 2番目と3番目のサーバーから送信されたデータを受信する必要がある

a1.sources.s1.type = アブロ

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

# データにタイムスタンプを追加する必要がある

a1.sources.s1.interceptors = i1

a1.sources.s1.interceptors.i1.type = タイムスタンプ

# チャネルを設定する

a1.channels.c1.type = メモリ

a1.チャンネル.c1.容量 = 10000

a1.channels.c1.transactionCapacity = 1000

# シンクの構成

# 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 = データストリーム

# ファイルのスクロール間隔を指定

a1.sinks.k1.hdfs.rollInterval = 3600

a1.sinks.k1.hdfs.rollSize = 0

a1.sinks.k1.hdfs.rollCount = 0

# 練る

a1.sources.s1.channels = c1

a1.シンク.k1.チャンネル = c1

e. HDFS を開始します。

start-dfs.sh

f. 最初のサーバーで Flume を起動します。

../bin/flume-ng エージェント -na1 -c ../conf -f telecomlog.conf -

Dflume.root.logger=情報,コンソール

g. 2 番目と 3 番目のサーバーで Flume を起動します。

../bin/flume-ng エージェント -na1 -c ../conf -f telecomlog.conf -

Dflume.root.logger=情報,コンソール

2. データクリーニング

1. Flume を使用して HDFS 上のデータを収集し、元のデータを管理するために Hive にテーブルを作成する必要があります。

# YARNを開始する

start-yarn.sh

#HBase インストール ディレクトリの lib ディレクトリを入力します

cd /home/software/hbase-2.4.2/lib

# サブディレクトリに入ります

cd クライアント側サードパーティ/

#重命名

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 メタストア &

hive --service hiveserver2 &

#Hive クライアントを入力します

ハイブ

# ライブラリを作成する

データベーステレコムを作成します。

# このライブラリを使用する

おすすめ

転載: blog.csdn.net/u013955758/article/details/132032424