当前位置:   article > 正文

大数据实验一:大数据系统基本实验(第四部分:NoSQL和关系数据库的比较)_一、实验目的 (1)理解四种数据库(mysql、hbase、redis和mongodb)的概念以及不

一、实验目的 (1)理解四种数据库(mysql、hbase、redis和mongodb)的概念以及不同点

一、 实验目的
1)理解 4 种数据库(MySQL、HBase、Redis 和 MongDB)的概念及不同点。
2)熟练使用 4 种数据库操作常用的 shell 命令。
3)熟悉 4 种数据库操作常用的 Java API。
二、 实验平台
1)操作系统:Linux(Ubuntu18.04); 2)Hadoop 版本:2.9.0;
3)MySQL 版本:5.7.28;
4)HBase 版本:1.2.6;
5)Redis 版本:4.0.8;
6)MongDB 版本:3.2.21;
7)JDK 版本:1.8;
8)Java IDE:Eclipse 3.8。
三、 实验内容
1、MySQL 数据库操作

import java.sql.*;

//mysql shell:
//mysql -u root -p  123456
//use Student
//drop table Student
//select * from Student
//insert into Student values ("hhh","12","23","31");

public class mysqltest {
	static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
	static final String DB_URL = "jdbc:mysql://localhost:3306/Student?serverTimezone=UTC";
	static final String USER = "root";
	static final String PASS = "123456";

	public static void main(String[] args) {
		Connection conn = null;
		Statement stmt = null;
		try {
			Class.forName(JDBC_DRIVER);
			// 打开连接
			System.out.println("连接数据库");
			conn = DriverManager.getConnection(DB_URL, USER, PASS);
			stmt = conn.createStatement();
			// 删除表
			stmt.executeUpdate("DROP TABLE Student");
			// 创建表
			System.out.println("创建表");
			if (0 == stmt.executeUpdate(
					"CREATE TABLE Student(name varchar(10) not null,English int(4),Math int(4),Computer int(4))")) {
				System.out.println("创建表成功");
			} else {
				System.out.println("创建表失败");
			}
			// 插入一行数据 Name:scofield English:45 Math:89 Computer:100
			stmt.executeUpdate("INSERT INTO Student VALUES('scofield',45,89,100)");
			// 获取 scofield 的 English 成绩信息
			ResultSet rs = stmt.executeQuery("select English from Student where Name='scofield'");
			while (rs.next()) {
				int en_score = rs.getInt("English");
				System.out.println(en_score);
			}
		} catch (SQLException se) {
			// 处理 JDBC 错误
			se.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

2、HBase 数据库操作
大数据实验一:大数据系统基本实验(第三部分:熟悉常用的 HBase 操作)

3、Redis 数据库操作

import redis.clients.jedis.Jedis;

//redis shell
//redis-cli
//ping
//hgetall "Student.scofield"

public class redistest {
	public static void main(String[] args) {
		// 连接本地的 Redis 服务
		Jedis jedis = new Jedis("localhost");
		System.out.println("连接成功");
		// 查看服务是否运行
		System.out.println("服务正在运行: " + jedis.ping());
		// 添加数据
		Map<String, String> map = new HashMap<String, String>();
		map.put("English", "45");
		map.put("Math", "89");
		map.put("Computer", "100");
		jedis.hmset("Student.scofield", map);
		// 获取 scofield 的 English 成绩信息
		List<String> rsmap = jedis.hmget("Student.scofield", "English");
		System.out.println(rsmap);
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

4、MongDB 数据库操作

import static org.junit.Assert.fail;

import java.net.UnknownHostException;
import com.mongodb.*;
import com.mongodb.client.model.Filters;

import java.util.*;

import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONObject;

//mongo shell
//mongo
//use Student
//db.Student.find()

public class mongdbtest {
	public static void main(String[] args) throws UnknownHostException {
		Mongo mongo = new Mongo("localhost", 27017);
		DB db = mongo.getDB("Student");
		DBCollection collection = db.getCollection("Student");
		// 添加数据
		BasicDBObject bdo = new BasicDBObject();
		bdo.put("name", "scofield");
		List score=new ArrayList();
		score.add(BasicDBObjectBuilder.start().add("English",45).add("Math", 89).add("Computer", 100).get());
		bdo.put("score", score);
		collection.insert(bdo);
		//获取 scofield 的所有成绩信息(只显示 score 列)
		BasicDBObject query=new BasicDBObject();
		query.put("_id",false);
		query.put("name", false);
		System.out.println(collection.findOne(new BasicDBObject("name","scofield"),query));
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/649708
推荐阅读
相关标签
  

闽ICP备14008679号