0
EMR에서 하이브 테이블을 쿼리하기 위해 Presto를 사용하고 있습니다. presto 드라이버를 초기화하고 연결을 가져 오지만 해당 연결에서 쿼리를 실행하려고하면 오류가 발생합니다. 서버가 연결을 거부했습니다 : http://aws.address/v1/statement.Presto jdbc driver를 사용하는 하이브의 쿼리 테이블 - "Server refused connection"오류로 실패했습니다.
하이브/AWS 자격 증명을 사용하기 전에 설정해야합니까? 내가 어떻게 해?
public void init() {
try {
Class.forName("com.facebook.presto.jdbc.PrestoDriver");
if(connection == null)
connection = DriverManager.getConnection(url,username,password);
// url = "jdbc:presto://aws.address:8889/hive/default"
} catch (ClassNotFoundException | SQLException e) {
// TOD: handle exception
e.printStackTrace();
}
}
public void executeMyQuery() {
if(connection == null) {
connection = driver.getConnection();
}
ResultSet resultSet = null;
Statement stmt = connection.createStatement();
try {
resultSet = stmt.executeQuery(query);
} catch (Exception e) {
logger.error("Failed to execute query, with error: ",e);
} finally {
if(resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt != null){
stmt.close();
}
}
}