starrocks-删除表字段

1、背景

        之前做了个大宽表,将近100个字段,但是后来发现很多字段在实际生产上都没有用到,并且随着数据量的增加,给集群的存储以及消费任务的解析带来了比较大的压力。所以决定对字段做删除处理。

当前的表是使用routine load任务从kafka消费数据,为了不影响线上的服务,所以我们最终的方案是保留字段,但是在routine load任务里只消费需要的字段。

但是为了搞清楚对于一个已经有大量数据的表删除字段的影响,单独起了个表做了个测试。

2、构建一个测试表

CREATE TABLE `ods_s_topic_obu_rt_inc_test` (
  `report_time` bigint(20) NOT NULL COMMENT "设备数据上报时间时间戳",
#   `device_code` varchar(255) NOT NULL COMMENT "设备编码",
) ENGINE=OLAP 
PRIMARY KEY(`report_time`)
DISTRIBUTED BY HASH(`report_time`)
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"enable_persistent_index" = "true",
"replicated_storage" = "true",
"compression" = "LZ4"
);

3、当前表里的数据量

4、删除字段 device_code

4.1、停止routine load任务

pause routine load for ods_s_topic_obu_rt_inc_load_101114 \G 

感觉还是先停止为好,防止出现幺蛾子。

4.2、删除字段

ALTER TABLE ods_s_topic_obu_rt_inc_test DROP COLUMN device_code ;

5、结果演示

效果非常明显,数据量是2kw左右,未观察到其他的指标有明显的变化

6、升华

个人理解:因为是列存,所以当我把字段删除之后,这个字段对应的数据也会被sr标记然后删除。个人理解是物理删除。

### 如何在 Docker 中部署和运行 StarRocks Frontend (FE) #### 准备工作 为了成功部署 StarRocks 的前端组件(FE),需要先准备好必要的配置文件以及环境设置。通常情况下,这些准备工作包括下载官方提供的 YAML 文件[^2]。 #### 创建网络 为了让各个容器之间能够顺利通信,建议创建一个自定义的桥接网络: ```bash docker network create starrocks-network --driver bridge ``` 这一步骤确保了不同服务可以通过主机名相互访问[^3]。 #### 配置 .env 文件 对于使用 `docker-compose` 来管理多容器应用的情况,在同一目录下放置 `.env` 文件是非常重要的。此文件用于定义一些全局变量,比如版本号或者其他共享参数。该文件应当位于与 Yaml 文件相同的路径中,例如 `/data/starrocks/.env`[^4]。 #### 编写或修改 docker-compose.yml 文件 下面是一个简化版的 `docker-compose.yml` 示例,专门针对 StarRocks FE 的启动进行了定制化调整: ```yaml version: '3' services: fe: image: starrocks/front-end:<tag> container_name: starrocks_fe environment: - STARROCKS_FE_QUERY_PORT=9030 - STARROCKS_FE_HEARTBEAT_SERVICE_PORT=9050 - STARROCKS Fe_EDIT_LOG_PORT=9010 ports: - "9050:9050" - "9010:9010" networks: - starrocks-network networks: starrocks-network: external: true ``` 请注意替换 `<tag>` 为实际使用的镜像标签,并根据实际情况调整端口号映射部分。 #### 启动服务 完成上述所有准备之后,可以利用如下命令来启动 StarRocks FE 容器: ```bash cd /path/to/docker-compose/file docker-compose up -d ``` 这样就可以让 StarRocks FE 在后台作为守护进程运行起来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值