lundi 13 avril 2015

SQLite Database in PIG

How can I read data from a SQLite database using PIG? I think I can write a UDF to achieve that? I have a function like below I want to form UDF of it and read data from PIG



public void sqlReader(String db,String tableName,String outFile) throws SQLException, FileNotFoundException{
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:"+db);
c.setAutoCommit(false);
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM "+tableName+";" );
ResultSetMetaData rmd = rs.getMetaData();
int columnNo = rmd.getColumnCount();
StringBuilder column = new StringBuilder();
while ( rs.next() ) {
for(int i = 1; i<columnNo; i++){
column.append(rs.getString(i)).append(",");
}
column.append(rs.getString(columnNo));
// return this column as a tuple
}
rs.close();
stmt.close();
c.close();

} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
finally{
c.close();
}
}

Aucun commentaire:

Enregistrer un commentaire