📜  在 Cassandra 中导出和导入数据

📅  最后修改于: 2021-09-10 01:26:56             🧑  作者: Mango

先决条件 – 卡桑德拉
在本文中,我们将讨论如何通过 cqlsh 查询导出和导入数据。
让我们一一讨论。

首先,我们将创建表作为数据,其中 id、firstname、lastname 是示例练习的字段。
我们来看一下。

表名:数据

CREATE TABLE Data ( 
  id UUID PRIMARY KEY, 
  firstname text,
  lastname text 
); 

现在,我们将插入一些数据来导出和导入示例练习的数据。我们来看一下。

INSERT INTO Data (id, firstname, lastname ) 
VALUES (3b6441dd-3f90-4c93-8f61-abcfa3a510e1, 'Ashish', 'Rana');

INSERT INTO Data (id, firstname, lastname) 
VALUES (3b6442dd-bc0d-4157-a80f-abcfa3a510e2, 'Amit', 'Gupta');

INSERT INTO Data (id, firstname, lastname) 
VALUES (3b6443dd-d358-4d99-b900-abcfa3a510e3, 'Ashish', 'Gupta');

INSERT INTO Data (id, firstname, lastname) 
VALUES (3b6444dd-4860-49d6-9a4b-abcfa3a510e4, 'Dhruv', 'Gupta');

INSERT INTO Data (id, firstname, lastname)   
VALUES (3b6445dd-e68e-48d9-a5f8-abcfa3a510e5, 'Harsh', 'Vardhan');

INSERT INTO Data (id, firstname, lastname) 
VALUES (3b6446dd-eb95-4bb4-8685-abcfa3a510e6, 'Shivang', 'Rana'); 

现在,我们将使用下面给出的以下 cqlsh 查询导出数据。我们来看一下。

cqlsh>COPY Data(id, firstname, lastname) 
TO 'AshishRana\Desktop\Data.csv' WITH HEADER = TRUE; 

创建 CSV 文件:

Using 7 child processes 

带有 [id, firstname, lastname] 列的数据的起始副本。

Processed: 6 rows; Rate: 20 rows/s; Avg. rate: 30 rows/s
6 rows exported to 1 files in 0.213 seconds. 

现在,我们要从表 ‘Data’ 中删除数据,以便从已经创建的 CSV 文件中再次导入。

truncate Data; 

现在,我们将再次导入数据。使用下面给出的以下 cqlsh 查询导入数据。

COPY Data (id, firstname, lastname)
FROM 'AshishRana\Desktop\Data.csv' 
WITH HEADER = TRUE; 

导入的行:

Using 7 child processes 

带有 [id, firstname, lastname] 列的数据的起始副本。

Processed: 6 rows; Rate: 10 rows/s; Avg. rate: 14 rows/s
6 rows imported from 1 files in 0.423 seconds (0 skipped). 

验证结果是否成功导入。我们来看一下。

SELECT * 
FROM Data; 

输出:

要复制表的特定行,请使用下面给出的以下 cqlsh 查询。
首先,从表中导出数据,然后在这两个步骤之后按照下面给出的步骤进行截断。

COPY Data FROM STDIN; 

执行上述 cqlsh 查询后,行提示更改为 Copy 让我们看看。

Using 7 child processes 

带有 [id, firstname, lastname] 列的 cluster1.Data 的起始副本。

[Use . on a line by itself to end input]
Copy 

现在,插入要导入的表的行值。

Copy 3b6441dd-3f90-4c93-8f61-abcfa3a510e1, 'Ashish', 'Rana'
Copy .    // keep it in mind at the end insert the period 

上面给定的 cqlsh 查询成功执行后,将为您提供以下结果。我们来看一下。

Processed: 1 rows; Rate: 0 rows/s; Avg. rate: 0 rows/s
1 rows imported from 1 files in 36.991 seconds (0 skipped). 

现在,让我们验证结果。

SELECT * 
FROM Data; 

输出: