数据岗位面试题更新 2026-08-05

请描述在 Cassandra 中创建表的具体步骤和语法结构。

数据技术原理技术选型Apache Cassandra

考察说明

考查对 Cassandra 表定义语法和基本概念的理解。

回答思路

  1. 【回答框架 1】Cassandra 使用 CQL(Cassandra Query Language)来定义表,语法类似于 SQL 的 CREATE TABLE 语句。基本语法为 CREATE TABLE keyspace.table_name (column1 data_type, column2 data_type, PRIMARY KEY (partition_key, clustering_key))。
  2. 【回答框架 2】定义表时,必须指定主键,主键由分区键(partition key)和可选的聚簇键(clustering key)组成。分区键决定数据分布,聚簇键决定同一分区内数据的排序和唯一性。
  3. 【回答框架 3】列的类型包括 text、int、uuid、timestamp 等。还可使用复合主键,例如 PRIMARY KEY ((col1, col2), col3) 表示 col1 和 col2 联合作为分区键,col3 作为聚簇键。
  4. 【回答框架 4】创建表时还可以指定选项,如 WITH comment 添加注释,WITH compaction 调整压缩策略,WITH caching 控制缓存等,但核心是主键的设计。
  5. 【回答框架 5】实际使用时,需要确保 keyspace 存在,可以使用 CREATE TABLE 时用完整限定名,或先 USE keyspace;如果表已存在,可使用 IF NOT EXISTS 避免错误。
  6. 【关键点 1】CREATE TABLE 语法必须包含主键,主键由分区键和可选的聚簇键组成。
  7. 【关键点 2】分区键影响数据分布,聚簇键影响排序和唯一性,设计顺序至关重要。
  8. 【关键点 3】支持多种列类型和复合主键,使用 WITH 子句可配置表选项。
  9. 【易错点 1】混淆分区键和聚簇键的作用,导致数据分布不均或查询效率低下。
  10. 【易错点 2】未指定主键或主键设计不当,违反 Cassandra 数据模型约束。
  11. 【易错点 3】忽略 keyspace 存在性,直接使用未创建的 keyspace 导致报错。