idea 원격 연결hive
일단 제가 xshell5를 통해 하이브를 원격으로 연결하는 설정을 볼게요.
이것은 로그인할 때의 인터페이스입니다. 제가 선택한 서버는 10.100.34.110입니다.
첫 번째, SSH 사용, idea에서 Tools--StartSSH session--edit
host --172.18.254.49 Port --22 user name --zhangpanpan180108 password --******
save password는 select server를 선택하는 인터페이스에 들어갑니다. OK
두 번째, 아이디어 데이터베이스 도구 사용하기 1.데이터베이스 이 옵션은view--toolWindows--데이터베이스
오른쪽 측면에서 데이터베이스가 보여요.
2.idea는 하이브를 내장한 드라이브가 없습니다. 드라이버를 새로 만들어야 합니다. 이쪽에서 자세히 볼 수 있습니다.http://blog.csdn.net/u010814849/article/details/77649724
url, url 형식은 다음과 같습니다. jdbc:hive2:/ip 주소:port 포트 번호/database 데이터베이스
여기 있는 URL은 jdbc:hive2://10.100.12.30:10000/dm_research
user 및 password는 yjy_research와 ****여기 오랫동안 일했는데 왜 이 비밀번호를 입력해야 하는지 모르겠어요. 위의username이 아니라...
다시 한 번 sql로 테스트를 진행했습니다. 저는 xshell로 계속 썼습니다.그러나 이렇게 쓰는 것은 잘못된 것이고, 정확한 것은
show tables
나를 속여 죽였고, 줄곧 잘못을 보고하였는데, 다행히 정확한 방법을 찾았다
3. 그리고 자바 코드를 사용하여 JDBC를 통해 하이브를 연결합니다. 다음은 제 코드입니다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class hive {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static String url = "jdbc:hive2://localhost:10000/database";
private static String user = "";
private static String password = "";
private static String sql = "";
private static ResultSet res;
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
conn = getConn();
stmt = conn.createStatement();
stmt.execute("use dm_research");
selectData(stmt, "dm_research.collection");//
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
System.exit(1);
} finally {
try {
if (conn != null) {
conn.close();
conn = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private static void countData(Statement stmt, String tableName)
throws SQLException {
sql = "select count(1) from " + tableName + " limit 10";
System.out.println("Running:" + sql);
res = stmt.executeQuery(sql);
System.out.println(" “regular hive query” :");
while (res.next()) {
System.out.println("count ------>" + res.getString(1));
}
}
private static void selectData(Statement stmt, String tableName)
throws SQLException {
sql = "select * from " + tableName + " limit 10";
System.out.println("Running:" + sql);
res = stmt.executeQuery(sql);
System.out.println(" select * query :");
while (res.next()) {
System.out.println(res.getString(1) + "\t" + res.getString(2));
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.