Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Druid - a distributed column store.
   * Copyright (C) 2012, 2013  Metamarkets Group Inc.
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License
   * as published by the Free Software Foundation; either version 2
   * of the License, or (at your option) any later version.
   *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
 package io.druid.examples.flights;
 
 
 import java.io.File;
 import java.util.Map;

 
 public class FlightsConverter
 {
 
   private static final String[] METRIC_DIMENSIONS = new String[]{
       "Distance",
       "TaxiIn",
       "TaxiOut",
       "CarrierDelay",
       "WeatherDelay",
       "NASDelay",
       "SecurityDelay",
       "LateAircraftDelay",
       "ArrDelay",
       "DepDelay",
       "CRSElapsedTime",
       "ActualElapsedTime",
       "AirTime"
   };
 
   public static void main(String[] argsthrows IOException
   {
     DateTimeZone.setDefault(.);
     ObjectMapper mapper = new DefaultObjectMapper();
 
     File flightsDataDirectory = new File(args[0]);
     File flightsOutputDirectory = new File(args[1]);
     flightsOutputDirectory.mkdirs();
 
     for (File flightsDataFile : flightsDataDirectory.listFiles()) {
       ..printf("Processing file[%s]%n"flightsDataFile);
 
       CSVParser parser = new CSVParser();
       BufferedReader in = null;
       BufferedWriter out = null;
 
       try {
         in = new BufferedReader(new FileReader(flightsDataFile));
         out = new BufferedWriter(
             new FileWriter(
                 new File(
                     flightsOutputDirectory,
                     flightsDataFile.getName().replace("csv""json")
                 )
             )
         );
 
         int count = 0;
         long time = System.currentTimeMillis();
         parser.setFieldNames(in.readLine());
         String line = null;
         while ((line = in.readLine()) != null) {
           if (++count % 100000 == 0) {
             ..printf(
                 "File[%s], processed %,d lines in %,d millis.%n",
                 flightsDataFile.getName(), count, System.currentTimeMillis() - time
             );
             time = System.currentTimeMillis();
           }
           Map<StringObjectevent = parser.parse(line);
 
          int year = Integer.parseInt(event.get("Year").toString());
          int month = Integer.parseInt(event.get("Month").toString());
          int dayOfMonth = Integer.parseInt(event.get("DayofMonth").toString());
          int departureTime = Integer.parseInt(event.get("CRSDepTime").toString());
          int hourOfDay = departureTime / 100;
          final int minuteOfHour = departureTime % 100;
          DateTime timestamp = new DateTime(String.format("%4d-%02d-%02d"yearmonthdayOfMonth))
              .plus(new Period(hourOfDayminuteOfHour, 0, 0));
          event.put("timestamp"timestamp);
          for (String metricDimension : ) {
            String value = event.get(metricDimension).toString();
            if (value.equals("NA")) {
              event.put(metricDimension, 0);
            }
            else {
              event.put(metricDimension, Integer.parseInt(value));
            }
          }
          out.write(mapper.writeValueAsString(event));
          out.write("\n");
        }
      }
      finally {
        Closeables.closeQuietly(in);
        Closeables.closeQuietly(out);
      }
    }
  }
New to GrepCode? Check out our FAQ X