Spark Streaming 作业练习

Spark Streaming 作业练习

实验内容及要求

在本地或HDFS新建一个测试目录,编写一个简单程序,每随机间隔若干秒(5s以内)在该目录下新建一个文件,并写入若干行内容(每一行包含若干单词,单词之间以空格分隔)。现利用Spark Streaming分别完成如下单词统计:
(1)实时统计每10s新出现的单词数量(每10s统计1次);
(2)实时统计最近1分钟内每个单词的出现次数(每10s统计1次);
(3)实时统计每个单词的累积出现次数,并将结果保存到本地文件(每10s统计1次)

为了顺利进行实验,请一定一定要不要使用yarn模式来开启SparkShell,用本地模式来开启即可。其他我遇到的报错都在文末的实验总结中有说明。

1、编写一个简单程序,实现随机间隔若干秒在指定路径下创建新文件,并写入适量单词,并以空格分割,帮助完成单词统计任务。

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @author: 冰冷灬泡面
 * @date: 2021/6/3 16:03
 * @description:
 * @modifiedBy:
 */
public class MyGenerator {
   
    List<String> dictionary;

    public static void main(String[] args) throws Exception{
   
        if (args[0] == null) {
   
            System.out.println("第一参数为空,停止运行");
            return;
        }

        MyGenerator myGenerator = new MyGenerator();
        myGenerator.myInit();
        String line = null;
        Random rd = new Random();
        int cnt = 0;
        //核心代码
        while (true) {
   
            int index = rd.nextInt(myGenerator.dictionary.size());
            line = myGenerator
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值