问题一:
1、问题描述
在kafka+sparkStreaming+redis的项目中,牵涉到pipeline批量存取redis时,出现rdd只消费固定的批次之后就停止获取数据了,彷佛程序处于假死状态;
2、原因分析
是因为redis忘记关闭,将redis连接数占满,导致程序卡在那无法继续运行;
问题二:
1、问题描述
在项目业务逻辑中往往会遇到迭代器的多次使用,但是迭代器只能遍历一次,第二次就没数据了;
2、解决办法
在多次使用迭代器的情况下,需要先将迭代器转化为容器(比如:toMap,toList等)就可以多次遍历使用了;
问题三:
1、问题描述
在做spark插入mysql的时候,使用new java.sql.Date(转化为时间戳函("yyyy-MM-dd hh24:mi:ss")),mysql中却只是yyyy-MM-dd 00:00:00的格式,把后面的时间全变为某天的00:00:00了;
2、解决办法
mysql不像oracle,插入库字段为date类型时必须转化为date类型再插入,直接插入字符串("yyyy-MM-dd hh24:mi:ss")就可以,mysql字符串会直接转化为date;