fork download
  1. object Main extends App {
  2. val text = "S3//bucket//TS11_YREDED.2018_09_28_02.orc"
  3. val reg = """(?:.*/)?(.*)\.(\d{4})_(\d{2})_(\d{2})_\d{2}\.orc""".r
  4. var YEAR = "YEAR"
  5. var MONTH = "MONTH"
  6. var DAY = "DAY"
  7. var FILE_NAME = "FILE_NAME"
  8.  
  9. val dataExtraction: String => Map[String, String] = {
  10. string: String => {
  11. string match {
  12. case reg(filename, year, month, day) =>
  13. Map(FILE_NAME-> filename, YEAR -> year, MONTH -> month, DAY -> day)
  14. case _ => Map(FILE_NAME-> FILE_NAME,YEAR -> YEAR, MONTH -> MONTH, DAY -> DAY)
  15. }
  16. }
  17. }
  18.  
  19. println(dataExtraction(text))
  20. }
Success #stdin #stdout 0.41s 2181632KB
stdin
Standard input is empty
stdout
Map(FILE_NAME -> TS11_YREDED, YEAR -> 2018, MONTH -> 09, DAY -> 28)