大数据计算文件与Java计算文件的区别【重点!!!】

package com.njbdqn;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map;
/*
*在Java里面就是用开多线程的方式:cpu的速度快,正常情况下,
* 就可以在很短的时间内执行多个文件夹
* 给人感觉是同时执行多个文件,同时执行(时间片轮转的方式)
* 只要速度足够快,就可以定义为并行执行文件(并发运行)抢时间片。
* cpu的速度是有限度的,要适当执行。
*
*
* 在大数据里面就是分配多个机器,把数据分割成很多份,然后分配到堕胎计算机上面
* 进程出入的方式
*
* */

// I/O流读写
public class MyDemo {
    public static void main(String[] args) throws Exception{//抛出异常
        //线性结构两个(1.数组(ArrayList)  2.列表)
        //Set<>底下也是Map<>
        Map<String,Integer> word = new HashMap<String, Integer>();
        BufferedReader br = new BufferedReader(new FileReader("d:/abc.txt"));
        String line = br.readLine();
        while (line!=null){
            //System.out.println(line);
            String [] wds = line.split("");
            //增强型for循环
            for (String wd:wds){
                //分为两种情况 1.存在
                if (word.containsKey(wd)){
                    word.put(wd,word.get(wd)+1);
                }  else {
                    //2.不存在
                    word.put(wd,1);
                }
            }
            line = br.readLine();
        }
        //抛出异常
        br.close();
        //入(那麽大)表达式
        //哈希Map是键值队,两个值。一个值就不需要括号了,就一个值就行了。
        word.forEach((k,v)->{
            System.out.println(k+":"+v);
        });
        /*
        * 表 wds
        * word列
        *
        * hello
        * cm
        * hello
        * woeld
        * select word,count(*) from wds group by word
        */
    }
}