Kafka到Hdfs,大數據數據抽取,yyyy-MM-ddThh:mm:sssZ轉yyyy-MM-dd hh:mm:ss

部署亂七八糟環境感覺還是用docker的好,雖然我不會,如果是內網的話,再讓我選一次,我一定選docker,然而開發環境和部署環境各種不同,真的會搞死人.

關於kafka重複數據,拉取不到最新數據,可能是配置consumer參數問題,如果設置的max.pool

因爲max.poll.interval.ms默認值爲30000,設置的max.poll.records爲1000,在阻塞時間內業務尚未處理完成,kafka會認爲心跳失敗,offset未提交,重新消費.所以數據一是重複的,二無法消費到最新的消息

時間轉換函數,如果不是時間格式返回原值,大致匹配正則表達式:

"[1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-9]{2}.[0-9]{3}Z"
    private static String timeC(String UTC0) {
        SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.ENGLISH);//輸入的被轉化的時間格式
        SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//需要轉化成的時間格式
        Date date1 = null;
        try {
            date1 = dff.parse(UTC0);
            long utc8 = date1.getTime() + 8 * 60 * 60 * 1000;
            Date date = new Date(utc8);
            String UTC8 = df1.format(date);
            return UTC8;
        } catch (ParseException e) {
            e.printStackTrace();
            return UTC0;
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章