慕课网日志时间解析报错:

来源:9-6 数据清洗之第一步原始日志解析

人唯优2018

2017-09-17

Error:(32, 32) value parse is not a member of org.apache.commons.lang.time.FastDateFormat

      YYYYMMDDHHMM_TIME_FORMAT.parse(time.substring(time.indexOf("[") + 1,


写回答

3回答

人唯优2018

提问者

2017-09-18

//szimg.mukewang.com/59bf6b9200015e7e05950627.jpg


后面程序的代码放在哪里?

0
0

Michael_PK

2017-09-18

你直接用我的代码拷贝进来测试并对比下

0
1
人唯优2018
老师我只看到了前几章的代码,后面程序的代码在哪里看
2017-09-18
共1条回复

人唯优2018

提问者

2017-09-17

源码如下

package com.immoc.spark


import java.text.SimpleDateFormat

import java.util.{Date, Locale}


import org.apache.commons.lang.time.FastDateFormat


/**

  *  日期时间解析工具类

  */

object DateUtils {

  //输入文件日期时间格式

  //[11/Nov/2016:00:00:05 +0800]

  val YYYYMMDDHHMM_TIME_FORMAT = FastDateFormat.getInstance("dd/MMM/yyyy:HH:mm:ss Z",Locale.ENGLISH)

  //目标日期格式

  val TARGET_FORMAT = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss")


  /**

    *

    * 获取时间: yyyy-MM-dd HH:mm:ss

    */

  def parse(time:String) = {

    TARGET_FORMAT.format(new Date(getTime(time)))


  }


  /**

    * 获取输入日志的时间:long 类型

    */

  def getTime(time:String) = {

    try {

      YYYYMMDDHHMM_TIME_FORMAT.parse(time.substring(time.indexOf("[") + 1,

        time.lastIndexOf("]"))).getTime

    } catch {

      case e : Exception => {

        0l

      }

    }

  }


  def main(args: Array[String]): Unit = {

    println(parse("[11/Nov/2016:00:00:05 +0800]"))

  }

}


0
1
Michael_PK
源码看不出来啥效果的,只能借助ide才行啊,你群里问老师要下代码对比下就行
2017-09-18
共1条回复

以慕课网日志分析为例 进入大数据Spark SQL的世界

快速转型大数据:Hadoop,Hive,SparkSQL步步为赢

1644 学习 · 1129 问题

查看课程