/
Java - Read & Write tables from Hive
Java - Read & Write tables from Hive
Github Project : example-java-read-and-write-from-hive
Common part
Maven Dependencies
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>${hive-jdbc.version}</version> </dependency>
Hive Connection Url
Connection URL are like that : jdbc:hive2://hiveserver:10000/;ssl=false
Default port is 10000.
Init Connection
// Set JDBC Hive Driver Class.forName(JDBC_DRIVER_NAME); // Connect to Hive - Choose a user that has the rights to write into /user/hive/warehouse/ con = DriverManager.getConnection(connectionUrl,"hdfs",""); // Init Statement Statement stmt = con.createStatement();
How to create a Hive table with Java?
String sqlStatementDrop = "DROP TABLE IF EXISTS helloworld"; String sqlStatementCreate = "CREATE TABLE helloworld (message String) STORED AS PARQUET"; // Execute DROP TABLE Query stmt.execute(sqlStatementDrop); // Execute CREATE Query stmt.execute(sqlStatementCreate);
How to insert data into a Hive table with Java?
String sqlStatementInsert = "INSERT INTO helloworld VALUES (\"helloworld\")"; // Execute INSERT Query stmt.execute(sqlStatementInsert);
How to select data from a Hive table with Java?
String sqlStatementSelect = "SELECT * from helloworld"; // Execute SELECT Query ResultSet rs = stmt.executeQuery(sqlStatementSelect); // Process results while(rs.next()) { logger.info(rs.getString(1)); }