Cassandra - Tạo dữ liệu
Tạo dữ liệu trong bảng
Bạn có thể chèn dữ liệu vào các cột của một hàng trong bảng bằng lệnh INSERT. Dưới đây là cú pháp để tạo dữ liệu trong bảng.
INSERT INTO <tablename>
(<column1 name>, <column2 name>....)
VALUES (<value1>, <value2>....)
USING <option>
Thí dụ
Giả sử có một bảng được gọi là emp với các cột (emp_id, emp_name, emp_city, emp_phone, emp_sal) và bạn phải chèn dữ liệu sau vào emp bàn.
emp_id | emp_name | emp_city | emp_phone | emp_sal |
---|---|---|---|---|
1 | ram | Hyderabad | 9848022338 | 50000 |
2 | robin | Hyderabad | 9848022339 | 40000 |
3 | rahman | Chennai | 9848022330 | 45000 |
Sử dụng các lệnh dưới đây để điền vào bảng với dữ liệu cần thiết.
cqlsh:tutorialspoint> INSERT INTO emp (emp_id, emp_name, emp_city,
emp_phone, emp_sal) VALUES(1,'ram', 'Hyderabad', 9848022338, 50000);
cqlsh:tutorialspoint> INSERT INTO emp (emp_id, emp_name, emp_city,
emp_phone, emp_sal) VALUES(2,'robin', 'Hyderabad', 9848022339, 40000);
cqlsh:tutorialspoint> INSERT INTO emp (emp_id, emp_name, emp_city,
emp_phone, emp_sal) VALUES(3,'rahman', 'Chennai', 9848022330, 45000);
xác minh
Sau khi chèn dữ liệu, sử dụng câu lệnh SELECT để xác minh xem dữ liệu đã được chèn hay chưa. Nếu bạn xác minh bảng emp bằng câu lệnh SELECT, nó sẽ cung cấp cho bạn kết quả sau.
cqlsh:tutorialspoint> SELECT * FROM emp;
emp_id | emp_city | emp_name | emp_phone | emp_sal
--------+-----------+----------+------------+---------
1 | Hyderabad | ram | 9848022338 | 50000
2 | Hyderabad | robin | 9848022339 | 40000
3 | Chennai | rahman | 9848022330 | 45000
(3 rows)
Tại đây, bạn có thể quan sát bảng đã điền dữ liệu chúng tôi đã chèn vào.
Tạo dữ liệu bằng Java API
Bạn có thể tạo dữ liệu trong bảng bằng phương thức execute () của lớp Session. Làm theo các bước dưới đây để tạo dữ liệu trong bảng bằng API java.
Bước 1: Tạo một đối tượng cụm
Tạo một phiên bản của Cluster.builder lớp com.datastax.driver.core gói như hình dưới đây.
//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();
Thêm điểm liên hệ (địa chỉ IP của nút) bằng cách sử dụng addContactPoint() phương pháp của Cluster.Buildervật. Phương thức này trả vềCluster.Builder.
//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint("127.0.0.1");
Sử dụng đối tượng trình tạo mới, tạo một đối tượng cụm. Để làm như vậy, bạn có một phương thức được gọi làbuild() bên trong Cluster.Builderlớp học. Đoạn mã sau đây cho thấy cách tạo một đối tượng cụm.
//Building a cluster
Cluster cluster = builder.build();
Bạn có thể xây dựng một đối tượng cụm bằng cách sử dụng một dòng mã như hình dưới đây.
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Bước 2: Tạo một đối tượng phiên
Tạo một thể hiện của đối tượng Session bằng phương thức connect () của lớp Cluster như hình bên dưới.
Session session = cluster.connect( );
Phương thức này tạo một phiên mới và khởi tạo nó. Nếu bạn đã có một keyspace, thì bạn có thể đặt nó thành keyspace hiện có bằng cách chuyển tên KeySpace ở định dạng chuỗi vào phương thức này như được hiển thị bên dưới.
Session session = cluster.connect(“ Your keyspace name ” );
Ở đây chúng tôi đang sử dụng KeySpace được gọi là tp. Do đó, hãy tạo đối tượng phiên như hình dưới đây.
Session session = cluster.connect(“ tp” );
Bước 3: Thực thi truy vấn
Bạn có thể thực hiện các truy vấn CQL bằng cách sử dụng phương thức execute () của lớp Session. Chuyển truy vấn ở định dạng chuỗi hoặc ở dạngStatementđối tượng lớp của phương thức execute (). Bất cứ điều gì bạn chuyển đến phương thức này ở định dạng chuỗi sẽ được thực thi trêncqlsh.
Trong ví dụ sau, chúng tôi đang chèn dữ liệu vào một bảng có tên emp. Bạn phải lưu trữ truy vấn trong một biến chuỗi và chuyển nó vào phương thức execute () như hình dưới đây.
String query1 = “INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)
VALUES(1,'ram', 'Hyderabad', 9848022338, 50000);” ;
String query2 = “INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)
VALUES(2,'robin', 'Hyderabad', 9848022339, 40000);” ;
String query3 = “INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)
VALUES(3,'rahman', 'Chennai', 9848022330, 45000);” ;
session.execute(query1);
session.execute(query2);
session.execute(query3);
Dưới đây là chương trình hoàn chỉnh để chèn dữ liệu vào bảng trong Cassandra bằng cách sử dụng Java API.
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;
public class Create_Data {
public static void main(String args[]){
//queries
String query1 = "INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)"
+ " VALUES(1,'ram', 'Hyderabad', 9848022338, 50000);" ;
String query2 = "INSERT INTO emp (emp_id, emp_name, emp_city,
emp_phone, emp_sal)"
+ " VALUES(2,'robin', 'Hyderabad', 9848022339, 40000);" ;
String query3 = "INSERT INTO emp (emp_id, emp_name, emp_city, emp_phone, emp_sal)"
+ " VALUES(3,'rahman', 'Chennai', 9848022330, 45000);" ;
//Creating Cluster object
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
//Creating Session object
Session session = cluster.connect("tp");
//Executing the query
session.execute(query1);
session.execute(query2);
session.execute(query3);
System.out.println("Data created");
}
}
Lưu chương trình trên với tên lớp theo sau là .java, duyệt đến vị trí lưu nó. Biên dịch và thực thi chương trình như hình dưới đây.
$javac Create_Data.java
$java Create_Data
Trong điều kiện bình thường, nó sẽ tạo ra sản lượng sau:
Data created