Storm-JDBC 中Date类型转换bug
来源:互联网 发布:c语言volatile的作用 编辑:程序博客网 时间:2024/06/06 17:29
在Storm-JDBC中SimpleJdbcMapper类下,如果Column的类型为Time,Date,TIMESTAMP的话,默认是取值转换成Long类型的,如下为源码
else if(Util.getJavaType(columnSqlType).equals(Date.class)) { Long value = tuple.getLongByField(columnName); columns.add(new Column(columnName, new Date(value), columnSqlType));} else if(Util.getJavaType(columnSqlType).equals(Time.class)) { Long value = tuple.getLongByField(columnName); columns.add(new Column(columnName, new Time(value), columnSqlType));} else if(Util.getJavaType(columnSqlType).equals(Timestamp.class)) { Long value = tuple.getLongByField(columnName); columns.add(new Column(columnName, new Timestamp(value), columnSqlType));}如果用默认的源码的话,要formate下把Date类型转换成Long不然会报错,错误如下:
java.lang.ClassCastException: java.sql.Date cannot be cast to java.lang.Long
at backtype.storm.tuple.TupleImpl.getLongByField(TupleImpl.java:161) ~[storm-core-0.10.2.jar:0.10.2]
现在提供两种方案:
1.按照源码的规则转换,如时间类型format
private static Date date = new Date();
private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
2.重写SimpleJdbcMapper,继承 JdbcMapper接口;如下转换为object类型
else if (Util.getJavaType(columnSqlType).equals(Date.class)) { Object value = tuple.getValueByField(columnName); columns.add(new Column(columnName, value, columnSqlType.intValue()));} else if (Util.getJavaType(columnSqlType).equals(Time.class)) { Object value = tuple.getValueByField(columnName); columns.add(new Column(columnName, value, columnSqlType.intValue()));} else if (Util.getJavaType(columnSqlType).equals(Timestamp.class)) { Object value = tuple.getValueByField(columnName); columns.add(new Column(columnName, value, columnSqlType.intValue()));}
0 0
- Storm-JDBC 中Date类型转换bug
- JDBC中Date类型数据的插入
- JS中String类型转换Date类型
- 介绍java中Date类型转换
- 介绍java中Date类型转换
- java中string和date类型转换
- Java中把Date类型转换成Long类型
- java中Date类型和String类型之间的转换
- 在spring中date类型转换成string类型
- Java中String类型和Date类型的相互转换
- Java Date类型和mysql中 Datetime类型的转换
- jdbc中Datetime与java.util.Date的相互转换
- date类型转换
- date 类型转换表
- date类型转换
- Date类型转换
- Date转换String类型
- struts2--Date类型转换
- JavaScript日期对象-基本操作
- JavaEE jsp的编译指令和动作指令
- 一个人写界面有点写累了
- Golang1.7.4标准库sql使用
- CURL使用
- Storm-JDBC 中Date类型转换bug
- python+selenium常用函数
- KNN分类算法Python实现
- OpenCV使用小结
- 1-2交互 vue-resouce
- flask部署-Ubuntu下使用nginx+uwsgi+supervisor部署flask应用
- 邮票分你一半
- Android源码/框架源码分析
- 2017年上半年(2月-9月个人学习计划)