【数据库】Cassandra的安装及基本操作
Cassandra 数据库安装
安装环境
- Ubuntu 22.04.5LTS
- Cassandra 4.0.14
- JDK 11
操作步骤
-
下载安装包
curl -OL https://dlcdn.apache.org/cassandra/4.0.14/apache-cassandra-4.0.14-bin.tar.gz
-
解压操作
- 解压
tar -zxvf ./apache-cassandra-4.0.14-bin.tar.gz
- 解压
-
运行数据库,该步骤可能会出现Java版本不匹配的问题
cd ./apache-cassandra-4.0.14 ./bin/cassandra
-
稍等一会,命令行会出现
xxstart
,此时说明Cassandra
已经安装完成 -
进一步验证,查看集群状态
bin/nodetool status
若显示为
UN
则说明为Up + normal
,该Cassandra
节点正常启动
报错集合
Java版本过高
安装的Java版本过高,降低Java版本为JDK11
Cassandra 操作方式
摘要:该部分内容仅简单记录一些常用的Cassandra
操作方式,采用cqlsh
命令行方式操作
运行 cqlsh
-
安装python解释器:版本 python 2.7
sudo apt install python2-minimal
-
bin/cqlsh
增删改查
创建cql,即数据格式。data.cql
参考官方文档data.cql文件内容
## keyspace name 是 store,相当于mysql中的数据库
CREATE KEYSPACE IF NOT EXISTS store WITH REPLICATION =
{ 'class' : 'SimpleStrategy',
'replication_factor' : '1'
};
## table name 是 shopping_cart,相当于mysql中的表
CREATE TABLE IF NOT EXISTS store.shopping_cart (
userid text PRIMARY KEY,
item_count int,
last_update_timestamp timestamp
);
INSERT INTO store.shopping_cart
(userid, item_count, last_update_timestamp)
VALUES ('9876', 2, toTimeStamp(now()));
INSERT INTO store.shopping_cart
(userid, item_count, last_update_timestamp)
VALUES ('1234', 5, toTimeStamp(now()));
导入 data.cql
+ 查询
source '/path/to/data.cql'
,select * from store.shopping_cart
## 插入数据
INSERT INTO store.shoppong_cart
(userid, item_count)
VALUES ('4567', 20);
从外部csv文件导入数据
# csv文件内容
Vehicle_ID,Global_Time,Local_X,Local_Y,Grid_X,Grid_Y
515,1118848075000,30.034,188.062,3,12
2127,1118847624800,19.632,1775.614,2,118
# 创建 keyspace
CREATE KEYSPACE vehicle_data WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
# 切换 keyspace
USE vehicle_data;
# 创建 table
CREATE TABLE vehicle_positions (
vehicle_id INT,
global_time TIMESTAMP,
local_x FLOAT,
local_y FLOAT,
grid_x INT,
grid_y INT,
PRIMARY KEY ((vehicle_id), global_time)
) WITH CLUSTERING ORDER BY (global_time DESC);
# 批量导入数据
COPY vehicle_data.vehicle_positions (vehicle_id, global_time, local_x, local_y, grid_x, grid_y)
FROM '/home/yiran/Desktop/processed_us101_0801.csv' WITH HEADER = TRUE;
## 路径:确保 CSV 文件的路径正确无误。
## 时间戳格式:Cassandra 中的 TIMESTAMP 列需要以标准的毫秒级时间戳格式提供,如 1118848075000。
## CSV 文件格式:HEADER = TRUE 参数用于指示 CSV 文件包含列名。
其他内容
Cassandra 环境变量设置
设置CASSANDRA_HOME环境变量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能