2
votes

I'm triying to access data stored in Cosmos by using javascript to create a web interface. I know there's a java code available to make query's with Hive. That code is shown below:

    private Connection getConnection(
      String ip, String port, String user, String password) {
   try {
      // dynamically load the Hive JDBC driver
      Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
   } catch (ClassNotFoundException e) {
      System.out.println(e.getMessage());
      return null;
   } // try catch

   try {
      // return a connection based on the Hive JDBC driver, default DB
      return DriverManager.getConnection("jdbc:hive://" + ip + ":" +
         port + "/default?user=" + user + "&password=" + password);
   } catch (SQLException e) {
      System.out.println(e.getMessage());
      return null;
   } // try catch
} // getConnection


    private void doQuery() {
   try {
      // from here on, everything is SQL!
      Statement stmt = con.createStatement();
      ResultSet res = stmt.executeQuery("select column1,column2," +
         "otherColumns from mytable where column1='whatever' and " +
         "columns2 like '%whatever%'");

      // iterate on the result
      while (res.next()) {
         String column1 = res.getString(1);
         Integer column2 = res.getInteger(2);
         // whatever you want to do with this row, here
      } // while

      // close everything
      res.close(); stmt.close(); con.close();
   } catch (SQLException ex) {
      System.exit(0);
   } // try catch
} // doQuery

I need to know how to implement that code in javascript, I know it's possible but I don't know how.

Thanks!

1

1 Answers

0
votes

Starting from Hive 0.13, a JavaScript client may use the Thrift library in order to send Thrift RPC messages on top of Http. The problem is the current version of Hive in FIWARE LAB is 0.9, and thus it must be updated. We are currently working on it, because this is a requiremente for a Wirecloud-based Hive client as well. Stay tuned!