Advertisement
janosoto

Generación de dataset

Jun 27th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.35 KB | None | 0 0
  1. import com.mysql.jdbc.Connection;
  2. import entities.Rating;
  3. import entities.User;
  4. import java.io.File;
  5. import java.io.FileNotFoundException;
  6. import java.io.PrintWriter;
  7. import java.sql.DriverManager;
  8. import java.sql.SQLException;
  9. import java.sql.Statement;
  10. import java.util.List;
  11. import java.util.logging.Level;
  12. import java.util.logging.Logger;
  13. import util.Query;
  14.  
  15. public class DataSetFromUser {
  16.     public static void main(String[] args) {
  17.         try {  
  18.             Class.forName("com.mysql.jdbc.Driver");
  19.             Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name","user","pass");  
  20.             System.out.println("Conexion con la base de datos exitosa");
  21.             Statement stmt = con.createStatement();  
  22.             Query queries = new Query(stmt);
  23.             List<User> users = queries.getNHigherRatingsUsers(50);
  24.             int i = 1;
  25.             for(User user : users){
  26.                 System.out.println("Guardando los eventos del experimento "+i);
  27.                 user.setFrontier(40, 1000);
  28.                 List<Rating> events = queries.getRatingPerUserFrontier(user.getFrontierAsString());
  29.                 printCSVFile(events, user.getId(), i);
  30.                 i++;
  31.             }          
  32.         }
  33.         catch (ClassNotFoundException | SQLException ex) {
  34.             System.out.println("Ha ocurrido un error: "+ex.getLocalizedMessage());
  35.             Logger.getLogger(DataSetFromUser.class.getName()).log(Level.SEVERE, null, ex);
  36.         }
  37.        
  38.     }
  39.    
  40.     public static void printCSVFile(List<Rating> events, long user_id, int nro_exp){
  41.         StringBuilder sb = new StringBuilder();
  42.         for(Rating event : events){
  43.             sb.append(event.getUser_id());
  44.             sb.append(",");
  45.             sb.append(event.getVenue_id());
  46.             sb.append(",");
  47.             sb.append(event.getRating());
  48.             sb.append("\n");
  49.         }
  50.         try (PrintWriter pw = new PrintWriter(new File(String.format("%05d", nro_exp)+"-rf-data-"+user_id+".csv"))) {
  51.             pw.write(sb.toString());
  52.             pw.close();
  53.         } catch (FileNotFoundException ex) {
  54.             System.out.println("Ha ocurrido un error: "+ex.getLocalizedMessage());
  55.             Logger.getLogger(DataSetFromUser.class.getName()).log(Level.SEVERE, null, ex);
  56.         }
  57.     }    
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement