千家信息网

reduce输出结果到sqlserver数据库异常怎么办

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇文章为大家展示了reduce输出结果到sqlserver数据库异常,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。最近在做个hadoop统计的小项目,结果需
千家信息网最后更新 2025年02月02日reduce输出结果到sqlserver数据库异常怎么办

本篇文章为大家展示了reduce输出结果到sqlserver数据库异常,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

最近在做个hadoop统计的小项目,结果需要输出到sqlserver数据,其中遇到一些小问题

在map、reduce进行的比较顺利,因为数据比较规范,很快都搞定了

在运行时出现以下情况

遇到这种情况,第一时间想到是因为结点上驱动包的问题

对于缺少驱动的问题,有两种方案

1、在集群的每个结点${HADOOP_HOME}/lib下添加驱动包,并重启集群。这是最原始的方法,因为需要重启集群,不建议使用

2、先把驱动包上传到集群中

hadoop fs -put /lib/sqljdbc.jar

然后在新建Job之前添加到classpath环境中

Configuration conf = new Configuration();FileSystem fs = FileSystem.get(conf);//添加到classpathDistributedCache.addFileToClassPath(new Path("/lib/sqljdbc.jar"), conf, fs);//必须在新建JOB之前执行,这样才能在初始化 加载数据库驱动、以及连接数据库 传入到conf中供JOB使用DBConfiguration.configureDB(conf, "com.microsoft.sqlserver.jdbc.SQLServerDriver",     "jdbc:sqlserver://192.168.240.1:1433;DatabaseName=dbname", "sa", "123456");Job job = new Job(conf, "statistic");job.setJarByClass(DbnameDownedStatistic.class);job.setMapperClass(StatisticMap.class);job.setReducerClass(StatisticReducer.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(IntWritable.class);job.setOutputKeyClass(StatisticDBWritable.class);job.setOutputValueClass(Text.class);job.setNumReduceTasks(4);job.setInputFormatClass(TextInputFormat.class);job.setOutputFormatClass(DBOutputFormat.class);FileInputFormat.addInputPath(job, new Path("hdfs://node1:9000/user/hadoop/statictic/"));String[] fileds = new String[] { "name","down", "count" };DBOutputFormat.setOutput(job, "statistic", fileds);System.exit(job.waitForCompletion(true) ? 0 : 1);

这里需要注意的是

DBConfiguration.configureDB();

这个方法必须在new Job()之前执行,这样conf才能加载到驱动包,才能保证其他结点也能加载到驱动包。

上述内容就是reduce输出结果到sqlserver数据库异常,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

驱动 数据 数据库 集群 结果 输出 结点 问题 内容 情况 技能 方法 知识 原始 简明 简明扼要 就是 建议 很快 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全和防诈骗题库 无锡多有米网络技术有限公司 华为麒麟服务器型号 安卓应用软件开发应聘 电气工程工业网络技术 无法启动数据库服务器 网络安全的具体特征 名称服务器监听的端口是() 小金点网络技术有限公司 迪肯大学网络安全专业有哪些 大学网络技术与应用重要么 安卓系统小软件开发 疫情期间网络安全怎么样 网络安全初始化配置失败 天水网络安全活动 学过哪些网络安全技术 python操作oracle数据库 数据库姓名栏乱码 互联网服务器管理规范 网络安全主题的课堂活动总结 违反社会网络安全检讨书 数据通信网络技术考题 亿润网络技术有限公司 用友t1财务报表登入服务器 闵行区网络技术服务不二之选 网页怎么实现上传到数据库 通信软件开发过程标准 达梦数据库怎么建立dblink 戴尔服务器有默认的管理地址吗 事业单位网络安全培训
0