Hadoop好友推荐系统-去重后的数据存入数据库
来源:互联网 发布:linux查看任务的命令 编辑:程序博客网 时间:2024/05/17 20:35
项目总目录:基于Hadoop的好友推荐系统项目综述
一、去重后的数据存入数据库
1、前端展示
- jsp页面
<table> <tr> <td><label for="name">输入路径:</label></td> <td><input class="easyui-validatebox" type="text" id="resolveFileId" data-options="required:true" style="width:300px" value="WEB-INF/classes/deduplicate_users"/> </td> </tr> <tr> <td></td> <td> <a id="resolveId" href="" class="easyui-linkbutton" data-options="iconCls:'icon-door_in'">解析入库</a> </td> </tr> </table>
jsp页面默认的文件输入路径是WEB-INF/classes/deduplicate_users,这也是去重文件下载操作的默认输出路径。所以在进行该操作前先进数据下载操作。
- js逻辑
// ===== 解析入库 $('#resolveId').bind('click', function(){ var input_=$('#resolveFileId').val(); // 弹出进度框 popupProgressbar('数据入库','数据解析入库中...',1000); // ajax 异步提交任务 callByAJax('cloud/cloud_resolve2db.action',{input:input_}); });
2、后端逻辑
- action层
对应的action从这里获取callByAJax(‘cloud/cloud_resolve2db.action’,
/** * 解析入库 */ public void resolve2db(){ Map<String,Object> map=dBService.insertUserData(Utils.getRootPathBasedPath(input)); Utils.write2PrintWriter(JSON.toJSONString(map)); return ; }
- service层
/** * 批量插入数据 * * @param xmlPath * @return */ public Map<String, Object> insertUserData(String xmlPath) { Map<String, Object> map = new HashMap<String, Object>(); try { baseDao.executeHql("delete UserData"); List<String[]> strings = Utils.parseDatFolder2StrArr(xmlPath); List<Object> uds = new ArrayList<Object>(); for (String[] s : strings) { uds.add(new UserData(s)); } int ret = baseDao.saveBatch(uds); log.info("用户表批量插入了{}条记录!", ret); } catch (Exception e) { e.printStackTrace(); map.put("flag", "false"); map.put("msg", e.getMessage()); return map; } map.put("flag", "true"); return map; }
其中Utils.parseDatFolder2StrArr定义如下:
/** * 定制解析 * @param datFolder * @return */ public static List<String[]> parseDatFolder2StrArr(String datFolder) { File folder = new File(datFolder); List<String[]> list = new ArrayList<String[]>(); File[] files=null; try{ files= folder.listFiles(); for(File f:files){ list.addAll(parseDat2StrArr(f.getAbsolutePath())); } }catch(Exception e){ e.printStackTrace(); } return list; }/** * 定制解析单个dat文件 * @param datFile * @return * @throws IOException */ private static List<String[]> parseDat2StrArr(String datFile) throws IOException{ List<String[]> list = new ArrayList<String[]>(); FileReader reader = new FileReader(datFile); BufferedReader br = new BufferedReader(reader); String line = null; String[] arr= null; while((line = br.readLine()) != null) { arr=new String[userdata_attributes.length]; for(int i=1;i<userdata_attributes.length;i++){ arr[i]=Utils.getAttrValInLine(line, userdata_attributes[i]); } list.add(arr); } br.close(); reader.close(); return list; }
二、去重后用户数据表查看
这里的查看方式和实现原理与用户登录表的原理基本一致,不再详述。
三、程序运行截图
1、前端
2、后台
3、用户数据查看
点击左侧用户数据查看选项卡,查看录入的用户数据:
阅读全文
0 0
- Hadoop好友推荐系统-去重后的数据存入数据库
- Hadoop好友推荐系统-数据库过滤数据到HDFS
- Hadoop好友推荐系统-组别数据入库
- Hadoop好友推荐系统-数据表的初始化
- Hadoop好友推荐系统-推荐结果查询
- 基于Hadoop的好友推荐系统项目综述
- Hadoop好友推荐系统-HDFS的文件上传和下载
- Hadoop好友推荐系统-用户距离计算
- Hadoop好友推荐系统-寻找最佳DC
- Hadoop好友推荐系统-画出决策图
- Hadoop好友推荐系统-执行分类算法
- Hadoop好友推荐系统-项目架构搭建和用户登陆的实现
- 存入数据库的日期类型(推荐)
- Hadoop好友推荐系统-执行聚类算法
- Hadoop好友推荐系统-寻找聚类中心
- Hadoop/Spark推荐系统(一)——共同好友
- Hadoop/MapReduce 好友推荐解决方案
- xml数据存入数据库的解决办法
- 1031. Hello World for U (20)
- 统计学习方法笔记,第二章感知机的python代码实现
- 从今天开始 把我自己所有这几年的Android开发总结一下
- [Go]IDEA配置-IDEA
- webpack构建React应用四:使用webpack Loaders 模块加载器(二)
- Hadoop好友推荐系统-去重后的数据存入数据库
- 视频关键帧打点(视频信息提示点)的效果
- 微信小程序周报(第六期)
- 20 世纪艺术史
- 选择项目管理工具六大雷区
- BZOJ 4373 算术天才⑨与等差数列 [线段树]
- ubuntu-输入正确的密码后重新返回到登陆界面
- Android开发---APP打开三方APP
- Java Spring 常见注解汇总