在本文中,我们将讨论如何使用 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 |