Cassandra-데이터 생성

테이블에 데이터 생성

다음 명령을 사용하여 테이블의 행 열에 데이터를 삽입 할 수 있습니다. INSERT. 다음은 테이블에 데이터를 생성하는 구문입니다.

INSERT INTO <tablename>
(<column1 name>, <column2 name>....)
VALUES (<value1>, <value2>....)
USING <option>

다음과 같은 테이블이 있다고 가정하겠습니다. emp 열 (emp_id, emp_name, emp_city, emp_phone, emp_sal)과 함께 다음 데이터를 emp 표.

emp_id emp_name emp_city emp_phone emp_sal
1 하이데라바드 9848022338 50000
2 남자 이름 하이데라바드 9848022339 40000
라만 첸나이 9848022330 45000

아래에 제공된 명령을 사용하여 필요한 데이터로 테이블을 채 웁니다.

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);

확인

데이터 삽입 후 SELECT 문을 사용하여 데이터 삽입 여부를 확인합니다. SELECT 문을 사용하여 emp 테이블을 확인하면 다음과 같은 출력이 제공됩니다.

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)

여기서 우리가 삽입 한 데이터로 테이블이 채워지는 것을 볼 수 있습니다.

Java API를 사용하여 데이터 생성

Session 클래스의 execute () 메서드를 사용하여 테이블에 데이터를 생성 할 수 있습니다. 아래 단계에 따라 Java API를 사용하여 테이블에 데이터를 만듭니다.

1 단계 : 클러스터 개체 생성

인스턴스 만들기 Cluster.builder 클래스 com.datastax.driver.core 아래와 같이 패키지.

//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();

다음을 사용하여 접점 (노드의 IP 주소)을 추가합니다. addContactPoint() 의 방법 Cluster.Builder목적. 이 메서드는Cluster.Builder.

//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint("127.0.0.1");

새 빌더 개체를 사용하여 클러스터 개체를 만듭니다. 이를 위해 다음과 같은 메서드가 있습니다.build()Cluster.Builder수업. 다음 코드는 클러스터 객체를 만드는 방법을 보여줍니다.

//Building a cluster
Cluster cluster = builder.build();

아래와 같이 한 줄의 코드를 사용하여 클러스터 객체를 빌드 할 수 있습니다.

Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();

2 단계 : 세션 개체 생성

아래와 같이 Cluster 클래스의 connect () 메서드를 사용하여 Session 객체의 인스턴스를 생성합니다.

Session session = cluster.connect( );

이 메서드는 새 세션을 만들고 초기화합니다. 이미 키 스페이스가있는 경우 아래와 같이 문자열 형식의 키 스페이스 이름을이 메서드에 전달하여 기존 키 스페이스로 설정할 수 있습니다.

Session session = cluster.connect(“ Your keyspace name ” );

여기서 우리는 tp. 따라서 아래와 같이 세션 개체를 생성합니다.

Session session = cluster.connect(“ tp” );

3 단계 : 쿼리 실행

Session 클래스의 execute () 메서드를 사용하여 CQL 쿼리를 실행할 수 있습니다. 쿼리를 문자열 형식으로 전달하거나Statement클래스 객체를 execute () 메서드에 추가합니다. 이 메서드에 문자열 형식으로 전달하는 것은 무엇이든cqlsh.

다음 예에서는 다음과 같은 테이블에 데이터를 삽입합니다. emp. 쿼리를 문자열 변수에 저장하고 아래와 같이 execute () 메서드에 전달해야합니다.

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);

다음은 Java API를 사용하여 Cassandra의 테이블에 데이터를 삽입하는 완전한 프로그램입니다.

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");
   }
}

위의 프로그램을 클래스 이름 뒤에 .java로 저장하고 저장된 위치를 찾습니다. 아래와 같이 프로그램을 컴파일하고 실행합니다.

$javac Create_Data.java
$java Create_Data

정상적인 조건에서 다음과 같은 출력을 생성해야합니다.

Data created