📜  在 Cassandra 中使用 CSV 文件插入数据

📅  最后修改于: 2021-09-09 10:47:33             🧑  作者: Mango

在本文中,我们将讨论如何使用 CSV 文件将数据插入表中。我们还将在示例的帮助下介绍实现。让我们一一讨论。

先决条件 – Cassandra 简介

介绍 :
如果您想批量存储数据,那么从 CSV 文件插入数据是一种不错的方法。如果文件中有数据,则可以使用 Cassandra 中的 COPY 命令直接将数据插入数据库。当您有一个非常大的数据库,并且您想快速存储数据并且您的数据在 CSV 文件中时,这将非常有用,然后您可以直接插入您的数据。

句法 –
您可以查看 COPY 命令语法以供参考,如下所示。

COPY table_name [( column_list )]
FROM 'file_name path'[, 'file2_name path', ...] | STDIN
[WITH option = 'value' [AND ...]]

现在,让我们创建用于实施该方法的示例数据。

步骤1 :
创建密钥空间 – 数据
在这里,您可以使用以下 cqlsh 命令来创建密钥空间,如下所示。

CREATE KEYSPACE data
 WITH REPLICATION = {  
  'class' : 'NetworkTopologyStrategy',  
  'datacenter1' : 1  
  } ;

第2步 :
创建 Student_personal_data 表 –
在这里,您可以使用以下 cqlsh 命令来创建 Student_personal_data 表,如下所示。

CREATE TABLE data.Student_personal_data (  
 S_id UUID PRIMARY KEY,  
S_firstname text,  
S_lastname text,    
);

第 3 步:
创建 CSV 文件 –
将以下给定的表视为 CSV 文件,即personal_data.csv。但是,实际上您可以在 CSV 文件中插入数据并将其保存在您的计算机驱动器中。

S_id(UUID) S_firstname S_lastname
e1ae4cf0-d358-4d55-b511-85902fda9cc1 Ashish christopher
e2ae4cf0-d358-4d55-b511-85902fda9cc2 Joshua D
e3ae4cf0-d358-4d55-b511-85902fda9cc3 Ken N
e4ae4cf0-d358-4d55-b511-85902fda9cc4 Christine christopher
e5ae4cf0-d358-4d55-b511-85902fda9cc5 Allie K
e6ae4cf0-d358-4d55-b511-85902fda9cc6 Lina M

第四步 :
从 CSV 文件插入数据 –
在这里,您将看到如何将数据从现有的 CSV 文件插入数据库,您可以使用以下 cqlsh 命令,如下所示。

COPY data.Student_personal_data (S_id, S_firstname, S_lastname) 
FROM 'personal_data.csv' 
WITH HEADER = TRUE;

第 5 步:
验证结果——
一旦你将执行上述命令,那么你将得到如下结果。

Using 7 child processes

Starting copy of data.Student_personal_data with columns [S_id, S_firstname, S_lastname].
Processed: 6 rows; Rate:      10 rows/s; Avg. rate:      14 rows/s
6 rows imported from 1 files in 0.422 seconds (0 skipped).

您可以使用以下命令查看输出如下。

select * from data.Student_personal_data;

输出 :

S_id S_firstname S_lastname
e5ae4cf0-d358-4d55-b511-85902fda9cc5 Allies K
e6ae4cf0-d358-4d55-b511-85902fda9cc6  Lina M
e2ae4cf0-d358-4d55-b511-85902fda9cc2 Joshua D
e1ae4cf0-d358-4d55-b511-85902fda9cc1 Ashish christopher
e3ae4cf0-d358-4d55-b511-85902fda9cc3 Ken N
e4ae4cf0-d358-4d55-b511-85902fda9cc4 Christine christopher