电信客服综合项目 第3天 数据采集随机生成主被叫电话号码、项目打包发布到Linux

上篇:电信客服综合项目 第2天 数据产生与搭建项目结构


1、数据生产 - 获取通讯录数据

(1)子模块ct-common、ct-producer代码编写

在这里插入图片描述
在这里插入图片描述
代码下载处:
在这里插入图片描述
BigData0323.zip

原本的素材:
在这里插入图片描述
通过代码业务进行对格式的转换,启动程序,控制台运行如下:
在这里插入图片描述


2、数据生产 - 随机生成主被叫电话号码

在这里插入图片描述

基本代码实现:

/**
     * 生产数据
     */
    public void produce() {

        try {
            // 读取通讯录数据
            List<Contact> contacts = in.read(Contact.class);


            while (flg) {
                // 从通讯录中随机查找2个电话号码(主叫,被叫)
                int call1Index = new Random().nextInt(contacts.size());
                int call2Index;
                while ( true ) {
                    call2Index = new Random().nextInt(contacts.size());
                    if ( call1Index != call2Index ) {
                        break;
                    }
                }
                Contact call1 = contacts.get(call1Index);
                Contact call2 = contacts.get(call2Index);

另:测试Test类的随机数的变化,基本代码实现:

package com.study.ct.producer;

import java.util.Random;

public class Test {
    public static void main(String[] args) {

        Random random = new Random(10);

        for ( int i = 0; i < 10; i++ ) {
            System.out.println(random.nextInt(10));
        }
        System.out.println("**********************************");
        Random random1 = new Random(10);

        for ( int i = 0; i < 10; i++ ) {
            System.out.println(random1.nextInt(10));
        }

    }
}

控制台打印数据
在这里插入图片描述


3、 数据生产 - 构建通话记录、数据生产 - 将数据输出到日志文件中

(1) 代码编写子模块:ct-common、ct-producer
在这里插入图片描述
在这里插入图片描述
代码下载处:
BigData0323.zip
在这里插入图片描述

代码编写完成后,启动Bootstrap,控制台将会打印数据信息
在这里插入图片描述


4、数据生产 - 将项目打成jar包发布到Linux中

(1)将contact.log文件上传到Linux环境中
在这里插入图片描述
(2)对子模块ct-producer的Bootstrap类的代码优化一下:
在这里插入图片描述

package com.study.ct.producer;

import com.study.ct.common.bean.Producer;
import com.study.ct.producer.bean.LocalFileProducer;
import com.study.ct.producer.io.LocalFileDataIn;
import com.study.ct.producer.io.LocalFileDataOut;

/**
 * 启动对象
 */
public class Bootstrap {
    public static void main(String[] args)throws Exception {
        if(args.length < 2){
            System.out.println("系统不正确,请按照指定的格式传递:java -jar Produce.jar");
            System.exit(1);
        }
        // 构建生产者对象
        Producer producer = new LocalFileProducer();
       /* producer.setIn(new LocalFileDataIn("D:\\Hadoop\\BigData\\contact.log"));
        producer.setOut(new LocalFileDataOut("D:\\Hadoop\\BigData\\call.log"));*/
       producer.setIn(new LocalFileDataIn(args[0]));
       producer.setOut(new LocalFileDataOut(args[1]));
        // 生产数据
        producer.produce();
        // 关闭生产者对象
        producer.close();
    }

}

(3)对项目进行打包前的配置
注意:打包必须要有main方法
打包步前,需要配置
配置骤图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上步骤,说明配置ok了

(4)对项目进行打包
在这里插入图片描述
在这里插入图片描述
进行打包中
在这里插入图片描述
打包ok
在这里插入图片描述
在这里插入图片描述
把ct-producer.jar包上传到Linux环境中
在这里插入图片描述
(5)命令执行程序

//查看文件
[root@flink102 workProject]# ll
total 20
-rw-r--r-- 1 root root   543 Mar 24 12:26 contact.log
-rw-r--r-- 1 root root 14155 Mar 24 12:53 ct-producer.jar
[root@flink102 workProject]# 

//执行程序
//这里发现执行有误,需要指定文件执行
[root@flink102 workProject]# java -jar ct-producer.jar 
系统不正确,请按照指定的格式传递:java -jar Produce.jar

[root@flink102 workProject]# java -jar ct-producer.jar /opt/workProject/contact.log /opt/workProject/call.log


如图所示:
在这里插入图片描述
在这里插入图片描述
通讯数据的生产数据完成了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值