如何使用不同的模式将数据从一个 table 复制到另一个 table? (卡桑德拉)
How to copy datas from one table to another table with different Schemas? (Cassandra)
我有一个名为 table1 的 table,其中包括以下内容
+----------+-------+
|date |count |
+----------+-------+
|2022-01-07|2 |
|2022-01-06|0 |
|2022-01-05|1 |
+----------+-------+
现在我需要复制此 table(table1) 并将其粘贴到具有不同架构的新 table(table2) 中。新的 table 应该是这样的
+----+----------+-------+
|type|date |count |
+----+----------+-------+
|Typ1|2022-01-07|2 |
|Typ1|2022-01-06|0 |
|Typ1|2022-01-05|1 |
+----+----------+-------+
现在的问题是:
- 我不能使用 cqlsh COPY 命令,因为 tables 的方案不同。
- 我无法手动将数据添加到 table2,因为 table1 有 1000 行
table 的架构是:
表 1:
CREATE TABLE table1(
date date PRIMARY KEY,
count bigint
);
表 2:
CREATE TABLE table2(
type text,
date date ,
count bigint,
PRIMARY KEY(type, date)
);
您想将一个 table 的数据填充到另一个 table 中。您可以编写一个实用程序来执行此操作。此实用程序将读取您的第一个 table 并将数据推送到另一个 table。如果你会用spark,那么你可以很快做到。
我有一个名为 table1 的 table,其中包括以下内容
+----------+-------+
|date |count |
+----------+-------+
|2022-01-07|2 |
|2022-01-06|0 |
|2022-01-05|1 |
+----------+-------+
现在我需要复制此 table(table1) 并将其粘贴到具有不同架构的新 table(table2) 中。新的 table 应该是这样的
+----+----------+-------+
|type|date |count |
+----+----------+-------+
|Typ1|2022-01-07|2 |
|Typ1|2022-01-06|0 |
|Typ1|2022-01-05|1 |
+----+----------+-------+
现在的问题是:
- 我不能使用 cqlsh COPY 命令,因为 tables 的方案不同。
- 我无法手动将数据添加到 table2,因为 table1 有 1000 行
table 的架构是:
表 1:
CREATE TABLE table1(
date date PRIMARY KEY,
count bigint
);
表 2:
CREATE TABLE table2(
type text,
date date ,
count bigint,
PRIMARY KEY(type, date)
);
您想将一个 table 的数据填充到另一个 table 中。您可以编写一个实用程序来执行此操作。此实用程序将读取您的第一个 table 并将数据推送到另一个 table。如果你会用spark,那么你可以很快做到。