在本文中,我们将讨论如何使用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,
);
第三步:
创建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 |