1.项目介绍:
主要是通过抓取互联网上的诗词,然后进行数据的采集,解析,存储,数据分析,输出报告。
2.功能
数据采集,解析,存储
数据分析,可视化展示
3. 技术
- Stream流式处理:Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一次后即用尽了,就好比流水从面前流过,一去不复返。
而和迭代器又不同的是,Stream 可以并行化操作,迭代器只能命令式地、串行化操作。顾名思义,当使用串行方式去遍历时,每个 item 读完后再读下一个 item。而使用并行去遍历时,数据会被分成多个段,其中每一个都在不同的线程中处理,然后将结果一起输出。Stream 的并行操作依赖于 Java7 中引入的 Fork/Join 框架(JSR166y)来拆分任务和加速处理过程。
参考:
https://blog.csdn.net/qq_20989105/article/details/81234175
优点:java 8 使用 Stream,代码更加简洁易读;而且使用并发模式,程序执行速度更快。
#####清单 2. Java 8 的排序、取值实现
List<Integer> transactionsIds = transactions.parallelStream().
filter(t -> t.getType() == Transaction.GROCERY).
sorted(comparing(Transaction::getValue).reversed()).
map(Transaction::getId).
collect(toList());
- 文本分词和解析( ansj ):对于分词来说,最重要的任务无非就是拿到切分以后的结果(词)。
参考博客:https://blog.csdn.net/bitcarmanlee/article/details/53607776
- 网页解析工具( htmlunit ):用来做网页的解析工具
参考博客:https://blog.csdn.net/qq_33440781/article/details/73012480
- 数据库和JDBC编程
- XML:
gson:String=>Object/Object=>string
lombok:通过一个jar包(运行时不需要,编译时需要),添加相应的注解,让它自己生成,在开发工具时,需要装一个插件,编译时自动生成代码的库.
1.IDEA安装lombok插件,
2.设置中启用注释处理器
maven-jar-plugin:配置打包插件,设置主类和classpath
maven-dependency-plugin:配置依赖插件,复制程序依赖的jar包
- 数据可视化( HTML/CSS/JavaScript , echarts , jQuery )
- 参考博客:
- Sparkjava嵌入式Web容器快速构建web应用:基于jetty嵌入式 java Web容器开发的 Web应用框架-第三方的
Spark 专门为大数据处理而设计的快速通用的计算引擎, 内存,实时的
参考博客:Hadoop 实现一个分布式文件系统,两步计算,接收流计算 磁盘,离线的
- DIY(Do It Yourself)构建对象管理工程
- 参考博客:
还未完善,请见谅!