1.基于业务需求的WEB系统设计

2.下载Tomcat并创建Web工程并配置相关服务

下载tomcat,解压并启动tomcat服务。

1)新建web app项目

创建好之后的效果

2)对tomcat进行配置

3.Web系统数据处理服务层开发

WeblogService代码开发

package com.spark.service;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.HashMap;

import java.util.Map;

/**

* Created by Administrator on 2017/10/17.

*/

public class WeblogService {

static String url ="jdbc:mysql://bigdata-pro01.kfk.com:3306/test";

static String username="root";

static String password="123456";

public  Map queryWeblogs() {

Connection conn = null;

PreparedStatement pst = null;

String[] titleNames = new String[20];

String[] titleCounts = new String[20];

Map retMap = new HashMap();

try{

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url,username,password);

String query_sql = "select titleName,count from webCount where 1=1 order by count desc limit 20";

pst = conn.prepareStatement(query_sql);

ResultSet rs = pst.executeQuery();

int i = 0;

while (rs.next()){

String titleName = rs.getString("titleName");

String titleCount = rs.getString("count");

titleNames[i] = titleName;

titleCounts[i] = titleCount;

++i;

}

retMap.put("titleName", titleNames);

retMap.put("titleCount", titleCounts);

}catch(Exception e){

e.printStackTrace();

}

return retMap;

}

public  String[] titleCount() {

Connection conn = null;

PreparedStatement pst = null;

String[] titleSums = new String[1];

try{

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url,username,password);

String query_sql = "select count(1) titleSum from webCount";

pst = conn.prepareStatement(query_sql);

ResultSet rs = pst.executeQuery();

if(rs.next()){

String titleSum = rs.getString("titleSum");

titleSums[0] = titleSum;

}

}catch(Exception e){

e.printStackTrace();

}

return titleSums;

}

}

4.基于WebSocket协议的数据推送服务开发

WeblogSocket代码开发

package com.spark.service;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import com.alibaba.fastjson.JSON;

import javax.websocket.OnClose;

import javax.websocket.OnMessage;

import javax.websocket.OnOpen;

import javax.websocket.Session;

import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/websocket")

public class WeblogSocket {

WeblogService  weblogService = new WeblogService();

@OnMessage

public void onMessage(String message, Session session)

throws IOException, InterruptedException {

while(true){

Map map = new HashMap();

map.put("titleName", weblogService.queryWeblogs().get("titleName"));

map.put("titleCount",weblogService.queryWeblogs().get("titleCount"));

map.put("titleSum", weblogService.titleCount());

session.getBasicRemote().

sendText(JSON.toJSONString(map));

Thread.sleep(5000);

map.clear();

}

}

@OnOpen

public void onOpen () {

System.out.println("Client connected");

}

@OnClose

public void onClose () {

System.out.println("Connection closed");

}

}

5.基于Echart框架的页面展示层开发

1)echart、JQuery下载

2)页面效果图选取及代码实现

6.工程编译并打包发布

参照之前将的idea打包方式,将spark web项目打包发布。

7.启动各个服务并展示最终项目运行效果

新闻网大数据实时分析可视化系统项目——21、大数据Web可视化分析系统开发的更多相关文章

  1. FineReport报表系统实例方案之医院院长查询分析系统

    医院院长查询系统 目前,大中型医院的信息处理正从传统手工方式飞速向电脑信息化建设方案转变,一个大中型医院担负着繁重的医疗和科研任务,以及繁杂的事务性工作,院长必须时刻与各科室保持密切的连续,以便随时了 ...

  2. 新闻网大数据实时分析可视化系统项目——9、Flume+HBase+Kafka集成与开发

    1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File ...

  3. 苏宁基于Spark Streaming的实时日志分析系统实践 Spark Streaming 在数据平台日志解析功能的应用

    https://mp.weixin.qq.com/s/KPTM02-ICt72_7ZdRZIHBA 苏宁基于Spark Streaming的实时日志分析系统实践 原创: AI+落地实践 AI前线 20 ...

  4. SpringCloud微服务实战——搭建企业级开发框架(三十八):搭建ELK日志采集与分析系统

      一套好的日志分析系统可以详细记录系统的运行情况,方便我们定位分析系统性能瓶颈.查找定位系统问题.上一篇说明了日志的多种业务场景以及日志记录的实现方式,那么日志记录下来,相关人员就需要对日志数据进行 ...

  5. BI分析系统是什么?有什么用?

    伴随着大数据概念的不断发展,存储成本越来越低,数据来源也越来越广泛,我们从原来只关心数据的大小,逐渐转变为如何让数据产生更多的价值.它也一直困扰着许多大小企业,越来越多的企业开始将BI分析系统应用到企 ...

  6. ELK、ELFK企业级日志分析系统

    ELK.ELFK企业级日志分析系统 目录 ELK.ELFK企业级日志分析系统 一.ELK日志分析系统 1. ELK简介 1.2 ElasticSearch 1.3 Logstash 1.4 Kiban ...

  7. 告别IT,出售多年自己研发的股票分析系统源码

    不知已过而立,发狠告别IT,回头看看以前自己的多个作品,耗时最多的就是这个股票分析系统了,留在自己的电脑里也体现不出多大价值了,故打算出售源码给需要的人,联系方式QQ:874724605 注明:股票源 ...

  8. 新闻网大数据实时分析可视化系统项目——13、Cloudera HUE大数据可视化分析

    1.Hue 概述及版本下载 1)概述 Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python ...

  9. 新闻网大数据实时分析可视化系统项目——8、Flume数据采集准备

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...

随机推荐

  1. Redis 简易消息队列

    为了保持程序的高效,建议使用ProtoBuf. Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48, ...

  2. 2019最新整理JAVA面试题附答案

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  3. PAT T1004 To Buy or Not to Buy - Hard Version

    暴力搜索加剪枝~ #include<bits/stdc++.h> using namespace std; ; string t; string s[maxn]; int pos[maxn ...

  4. SpringBoot报错笔记

    异常一: 1.访问所有方法路径都返回一个page: 截图: 出错原因:不知道 解决方法:新建项目 异常二: 提交表单信息报错 原因:映射文件和和表单的提交方式不统一 解决方法:统一方式即可: 错误三: ...

  5. 第1节 Scala基础语法:9、10、数组

    1. 定义数组时,没有new和有new是有区别的: scala> val arr3 = Array[Int](2)    此时,arr3中仅包含1个元素2arr3: Array[Int] = A ...

  6. vue动画钩子

    <template> <div class="hello"> <div class="toggle" @click="f ...

  7. Py西游攻关之基础数据类型(二)-列表

    Py西游攻关之基础数据类型 - Yuan先生 https://www.cnblogs.com/yuanchenqi/articles/5782764.html  五 List(列表) OK,现在我们知 ...

  8. 127、Java面向对象之对象的比较

    01.代码如下: package TIANPAN; class Book { private String title; private double price; public Book(Strin ...

  9. 堡垒机安装google-authenticator

    公司线上的使用机器不能让用户随意的登陆,所以就不能让开发随意的登陆到生产的机器的.于是就打算使用google-auth的验证方式呢. 如果google-auth的方式. 搭建google-authen ...

  10. LeetCode刷题--26.删除排序数组中的重复项(简单)

    题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成. 示例 ...