You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否有以create和populate .cql脚本形式提供的Cassandra演示数据库?

Cassandra示例数据库快速搭建方案

无依赖CQL脚本方案

你可以直接使用以下现成的CQL脚本,保存为demo.cql后直接通过cqlsh -f demo.cql运行,无需任何额外依赖即可完成建库、建表、样本数据导入:

-- 创建演示用键空间,单节点测试用replication_factor设为1即可
CREATE KEYSPACE IF NOT EXISTS ecommerce_demo 
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

USE ecommerce_demo;

-- 创建用户订单表,适配Cassandra按用户查询订单的常见查询模型
CREATE TABLE IF NOT EXISTS user_orders (
    user_id UUID,
    order_time TIMESTAMP,
    order_id UUID,
    total_amount DECIMAL,
    status TEXT,
    product_list LIST<TEXT>,
    PRIMARY KEY ((user_id), order_time)
) WITH CLUSTERING ORDER BY (order_time DESC);

-- 插入预设样本数据
INSERT INTO user_orders (user_id, order_time, order_id, total_amount, status, product_list)
VALUES (8edc8e5a-1b3c-4d7e-8f9a-1b2c3d4e5f6a, '2024-01-01 10:00:00', 9fec9e6b-2c4d-5e8f-9a0b-2c3d4e5f6a7b, 299.9, 'PAID', ['Wireless Headphone', 'Screen Protector']);
INSERT INTO user_orders (user_id, order_time, order_id, total_amount, status, product_list)
VALUES (8edc8e5a-1b3c-4d7e-8f9a-1b2c3d4e5f6a, '2024-01-03 09:15:00', 0afd0f7c-3d5e-6f9a-0b1c-3d4e5f6a7b8c, 89.9, 'DELIVERED', ['Phone Case']);
INSERT INTO user_orders (user_id, order_time, order_id, total_amount, status, product_list)
VALUES (7cdb7d49-0a2b-3c6d-7e8f-0a1b2c3d4e5f, '2024-01-02 14:30:00', 1bfe1g8d-4e6f-7a0b-1c2d-4e5f6a7b8c9d, 159.5, 'SHIPPED', ['Mechanical Keyboard']);
INSERT INTO user_orders (user_id, order_time, order_id, total_amount, status, product_list)
VALUES (7cdb7d49-0a2b-3c6d-7e8f-0a1b2c3d4e5f, '2024-01-05 18:45:00', 2cgf2h9e-5f7a-8b1c-2d3e-5f6a7b8c9d0e, 459, 'PAID', ['Monitor Stand', 'Cable Organizer']);

如果需要更多预设数据,可直接在脚本末尾追加INSERT语句即可。

Python批量生成样本数据方案

如果需要更大体量的测试数据,可使用以下Python脚本,仅需提前安装cassandra-driver和faker依赖即可运行:

from cassandra.cluster import Cluster
from faker import Faker
import uuid
from datetime import datetime

# 初始化连接,将地址替换为你的Cassandra节点地址
fake = Faker()
cluster = Cluster(['127.0.0.1'])
session = cluster.connect('ecommerce_demo')

# 批量生成1000个用户、最高5000条订单数据
for _ in range(1000):
    user_id = uuid.uuid4()
    # 每个用户随机生成1-5条订单
    for __ in range(fake.random_int(1,5)):
        order_time = fake.date_time_between(start_date='-1y', end_date='now')
        order_id = uuid.uuid4()
        total_amount = round(fake.random_int(10, 10000) * 0.1, 2)
        status = fake.random_element(elements=('PAID', 'SHIPPED', 'DELIVERED', 'CANCELED'))
        product_list = [fake.word() for _ in range(fake.random_int(1,4))]
        session.execute(
            """
            INSERT INTO user_orders (user_id, order_time, order_id, total_amount, status, product_list)
            VALUES (%s, %s, %s, %s, %s, %s)
            """,
            (user_id, order_time, order_id, total_amount, status, product_list)
        )

cluster.shutdown()

最低成本搭建步骤

  • 小数据量测试直接复制上述CQL脚本保存为demo.cql,执行cqlsh -f demo.cql即可完成部署,全程耗时不超过1分钟
  • 需要大数据量测试时,先执行CQL脚本完成键空间和表创建,再安装Python依赖后运行上述脚本,10秒内可生成数千条测试数据

内容的提问来源于stack exchange,提问作者g.pickardou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:09:02