【数据库】Cassandra的安装及基本操作

Cassandra 数据库安装

官方文档

安装环境

  • Ubuntu 22.04.5LTS
  • Cassandra 4.0.14
  • JDK 11

操作步骤

  1. 下载安装包

    1. curl -OL https://dlcdn.apache.org/cassandra/4.0.14/apache-cassandra-4.0.14-bin.tar.gz
    2. image-20241101105701585
  2. 解压操作

    1. 解压tar -zxvf ./apache-cassandra-4.0.14-bin.tar.gz
    2. image-20241101105740493
  3. 运行数据库,该步骤可能会出现Java版本不匹配的问题

    cd ./apache-cassandra-4.0.14
    ./bin/cassandra
    

    image-20241101111106757

  4. 稍等一会,命令行会出现xxstart,此时说明Cassandra已经安装完成

  5. 进一步验证,查看集群状态 bin/nodetool status

    image-20241101111203868

    若显示为UN则说明为Up + normal,该Cassandra节点正常启动

报错集合

Java版本过高

安装的Java版本过高,降低Java版本为JDK11

image-20241101110308334

Cassandra 操作方式

摘要:该部分内容仅简单记录一些常用的Cassandra操作方式,采用cqlsh命令行方式操作

运行 cqlsh

  1. 安装python解释器:版本 python 2.7

    sudo apt install python2-minimal

  2. bin/cqlshimage-20241101111326119

增删改查

创建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

image-20241101113543542

## 插入数据 
INSERT INTO store.shoppong_cart
        (userid, item_count)
        VALUES ('4567', 20);

image-20241101113601770

从外部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 文件包含列名。

image-20241105160515152

其他内容

Cassandra 环境变量设置

设置CASSANDRA_HOME环境变量

image-20241101160337713

image-20241101160343383

image-20241101160349571

posted @   是你亦然  阅读(200)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示