当前位置: 首页 > news >正文

全国好的深圳网站设计建筑人才网首页

全国好的深圳网站设计,建筑人才网首页,网站建设公司如何开拓客户,网站系统的设计与实现结论 alter table xxx add columns 时加上 cascade 时#xff0c;会把所有的分区都加上此字段。如果不加则只有新的分区会加上此字段#xff0c;旧的分区没有此字段#xff0c;即便数据文件里有对应的数据#xff0c;也不能显示内容。 如果分区都是 insert overwrite 生成…结论 alter table xxx add columns 时加上 cascade 时会把所有的分区都加上此字段。如果不加则只有新的分区会加上此字段旧的分区没有此字段即便数据文件里有对应的数据也不能显示内容。 如果分区都是 insert overwrite 生成的并且旧分区的数据不再重新生成可以在 add columns 不用cascade这样旧的分区对应的列显示 null。新的分区正常显示新增的列。如果分区都是 insert overwrite 生成的并且旧分区的数据需要重新生成。两种方案1. 可以在 add columns 不用 cascade。然后每个分区先执行 drop partition然后再执行 insert overwrite。2.可以在 add columns 使用 cascade然后再执行 insert overwrite。如果方案2报错则只能使用方案1.如果文件是从外部生成然后放到对应分区位置上并且文件里已经有要加的字段数据。需要使用 cascade。如果使用 cascade 报错那么看表是否是外部表。如果不是外部表则先转成外部表。如果是外部表则直接 drop partition 然后再 add partition location 增加分区。如果文件是从外部生成然后放到对应分区位置上并且文件里没有要加的字段数据。不需要使用 cascade。旧的分区对应的列显示 null。新的分区正常显示新增的列。 注 判断表是否是外部表使用 ‘show create table xxx’, 如果生成的是 ‘CREATE TABLE’ 是内部表如果是 CREATE EXTERNAL TABLE 是外部表。把表从外部表转成内部表 ALTER TABLE xxx SET TBLPROPERTIES(EXTERNALFALSE);把表从内部表转成外部表 ALTER TABLE table SET TBLPROPERTIES(EXTERNALTRUE); 测试 cascade 的作用 准备文件 data.txt key1,value1 key2,value2测试 no cascade create table t_no_cascade(c1 string) partitioned by (pt string) row format delimited FIELDS TERMINATED BY , stored as textfile;增加分区 pt1 load data local inpath data.txt overwrite into table t_no_cascade partition(pt1);检索结果显示 c1 和 pt 字段。 select * from t_no_cascade where pt1; OK t_no_cascade.c1 t_no_cascade.pt key1 1 key2 1增加字段 alter table t_no_cascade add columns(c2 string) ;再次检索分区pt1因为分区没有定义 c2, 所以 c2 为 null。 select * from t_no_cascade where pt1; OK t_no_cascade.c1 t_no_cascade.c2 t_no_cascade.pt key1 NULL 1 key2 NULL 1增加新分区 pt2 新增的字段对新增的分区有效。 load data local inpath data.txt overwrite into table t_no_cascade partition(pt2);检索分区 因为新分区是表 select * from t_no_cascade where pt2; OK t_no_cascade.c1 t_no_cascade.c2 t_no_cascade.pt key1 value1 2 key2 value2 2重新复写老分区 重新复写老分区不能看到新的列数据。如果需要可以先删除老分区再使用 insert overwrite。 insert overwrite table t_no_cascade partition(pt1) select c1,c2 from t_no_cascade where pt2;insert overwrite table xxx partition 还是使用之前的 partition id所以此分区还是没有新的字段。 select * from t_no_cascade where pt1; OK t_no_cascade.c1 t_no_cascade.c2 t_no_cascade.pt key1 NULL 1 key2 NULL 1drop 老分区再使用 insert overwrite drop 老分区再使用 insert overwrite可以看到新的字段。 alter table t_no_cascade drop partition(pt1); insert overwrite table t_no_cascade partition(pt1) select c1,c2 from t_no_cascade where pt2;这时的 partition(pt1) 是新的分区id这时可以看到新的数据。 select * from t_no_cascade where pt1; OK t_no_cascade.c1 t_no_cascade.c2 t_no_cascade.pt key1 value1 1 key2 value2 12. 测试 cascade create table t_cascade(c1 string) partitioned by (pt string) row format delimited FIELDS TERMINATED BY , stored as textfile;增加分区 pt1 load data local inpath data.txt overwrite into table t_cascade partition(pt1);检索结果显示 c1 和 pt 字段。 select * from t_cascade where pt1; OK t_cascade.c1 t_cascade.pt key1 1 key2 1增加字段 使用 cascade 递归的给各分区增加上字段。 alter table t_cascade add columns(c2 string) cascade;再次检索分区pt1。 cascade 后老的分区也加上了字段。 select * from t_cascade where pt1; OK t_cascade.c1 t_cascade.c2 t_cascade.pt key1 value1 1 key2 value2 1
http://www.dnsts.com.cn/news/126308.html

相关文章:

  • 网络营销运营推广方案下载怎么优化网络
  • 网站建设入门网站建设域名有哪些类型
  • 长沙网站建设外包芙蓉区建设局网站
  • 不忘初心网站建设wordpress excel导入
  • 网站如何免费做SEO优化网站主页设计费用
  • 上饶网站制作需要多少钱wordpress 出现空白
  • 众筹网站建设报价建工网校官网登录入口
  • 网站设计一般多少钱制作网站要找什么公司
  • 了解当前各类网站建设价格广东网站设计流程
  • 全flash 电子商务网站如何推广云南建站推广
  • 永州本地网站建设制作网页的软件dw
  • 广东网站建设制作价格怎么建设婚恋网站
  • 支付网站开发wordpress 搬家到本地
  • 舞蹈网站模版网站搭建和网站开发
  • 在越南做网站需要什么nas怎么做网站服务器
  • 郑州网站专业建设qq绿色网站欣赏
  • 太原提高网站排名北京seo优化诊断
  • 大连seo建站公司上海平台网站建设费用
  • 制作网站备案幕布建设网站公司怎么建站
  • 西青做网站网站备案需要ftp吗
  • 简述建设一个网站的具体步骤6dw网页设计作品简单
  • wordpress文章标签调用seo研究学院
  • 网站建设公司专业女生大专学什么专业好
  • 襄阳做网站网站开发的主要技术
  • 知乎 php网站开发书籍_动态个人网站模板下载
  • 手机网站框架厦门谁需要网站建设
  • 长沙网站建设接单购物便宜的网站有哪些
  • 重庆江津网站建设衡水做外贸网站
  • 如何自己创网站简单网页制作源代码
  • 精品课程网站开发的创新点2017网站开发发展前景