通过java计算hash值

通过java计算hashcode


前段时间,在分享hive分桶原理的时候,需要解释hive利用hashcode来将数据存储到不同的桶中,为了方便演示,本打算连hive,直接操作hive表计算hash值,但是因为我没有本地连接hive的权限,所以就改连mysql,原理都差不多,重点是hashcode的计算。于是,我就在mysql上建了一张和hive表结构相同的表,直接操作该表。

计算hashcode的java代码如下:

package mysqlConnection;
import java.sql.*;

public class mysqlcon {
	public static void main(String[] args) throws Exception {
		Class.forName("com.mysql.jdbc.Driver");
		Connection conn = DriverManager.getConnection("jdbc:mysql://IP:3306/test", "hive", "hive");
		if(!conn.isClosed()) {
			System.out.println("connection success!");
		}

		Statement stat = conn.createStatement();
		ResultSet res = stat.executeQuery("select * from test_hash");
		while(res.next()) {
			int idValue = res.getInt(1);
			//System.out.println(node);
			String field = res.getString("id");
			int hashcode = field.hashCode();
			System.out.println(idValue + "_hashcode:" + hashcode);
		}
		if(conn != null && !conn.isClosed()) {
		res.close();
		conn.close();
		}
	}
}

你可能感兴趣的:(java)