Наиболее я включил файл политики Sentry для Hive. Поэтому, когда я пытаюсь выполнить запрос в Impala, используя impala-jdbc4 (версия 2.5.16), я получаю эту ошибку: < /p>
errorMessage:AuthorizationException: User '' does not have privileges to execute 'SELECT' on: db.table
< /code>
В моем коде я установил пользователя и пароль моей учетной записи администратора моего DB. Так что я не узнаю, почему это не читает это. < /P>
public static double getDolarFromImpala(String date) {
double dolar = 0.0;
try {
Class.forName(JDBC_DRIVER_IMPALA);
String sql = "SELECT value FROM db.table where date ='"+date+"'";
String JDBC_IMPALA_URL = "jdbc:impala://impala1:21050;auth=noSasl;UseNativeQuery=1";
Connection con = DriverManager.getConnection(JDBC_IMPALA_URL,IMPALA_USER,IMPALA_PASSWORD);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
dolar = rs.getDouble("value");
}
stmt.close();
con.close();
}
catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}
catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}
return dolar;
}
< /code>
Что я сделал неправильно? < /p>
Подробнее здесь: https://stackoverflow.com/questions/411 ... ct-on-tabl