想用T2表中的MchtName更新到T1表中,两表用Id关联
Hive中不能用update,只能用 insert overwrite,但insert overwrite不支持指定字段,要全表更新,
T1表有100个甚至更多字段,难道都要全量重写?
这个语句要怎么写?
insert overwrite 怎么更新表中指定列值
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
11条回答 默认 最新
- 喝茶品人生 2023-07-23 21:31关注
获得1.05元问题酬金 我记得是不是你好像发过这个问题的,创个新表就ok
CREATE TABLE updated_t1 ( Id int, MchtName string, field1 string, field2 string, ... field100 string ); INSERT OVERWRITE TABLE updated_t1 SELECT T1.Id, T2.MchtName, T1.field1, T1.field2, ..., T1.field100 FROM T1 JOIN T2 ON T1.Id = T2.Id; DROP TABLE T1; ALTER TABLE updated_t1 RENAME TO T1;
解决 1无用
悬赏问题
- ¥15 已知平面坐标系(非直角坐标系)内三个点的坐标,反求两坐标轴的夹角
- ¥15 webots有问题,无响应
- ¥15 数据量少可以用MK趋势分析吗
- ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
- ¥15 大智慧怎么编写一个选股程序
- ¥100 python 调用 cgps 命令获取 实时位置信息
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上