hive--新增字段,数据重跑坑

场景:

当我们建表完成并按照时间分区插入数据,之后我们发现需要增加一个字段。

办法:

我们首先想到的是先在表中增加字段。

1)alter table table_name add columns(new_attr string);

然后重跑数据

2)insert overwrite table table_name partition(pattr=‘20181029‘)

这种后果是,我们新增的字段new_attr的值为空。

解决办法:

在insert之前,一定记得删该分区

1.5)alter table table_name drop partition(pattr=‘20181029‘);

原文地址:https://www.cnblogs.com/xunyingFree/p/9879148.html

时间: 2024-08-30 07:57:21

hive--新增字段,数据重跑坑的相关文章

流量来源分析 0801 0810 0820 流量数据重跑

重跑这3天的数据执行过程和遇到的问题: ①执行 sh siteKeyDataNew.sh 3 20140801 ; 错误提示: awk: cmd. line:39: fatal: cannot open file `../data_today/row_data_20140801*' for reading (No such file or directory)awk: cmd. line:35: fatal: cannot open file `../data_today/row_data_20

RN坑:如果你运行时出现了错误,但是你又把错误改了,但是你重跑项目,发现还是报你改错误前的错误,那么,你就得去清楚缓存啦,

坑:如果你运行时出现了错误,但是你又把错误改了,但是你重跑项目,发现还是报你改错误前的错误,那么,你就得去清楚缓存啦, 在Android文件下,运行命令 gradlew clean 然后在启动项目 react-native run-android 原文地址:https://www.cnblogs.com/plBlog/p/12343533.html

Hive[5] HiveQL 数据操作

5.1 向管理表中装载数据  Hive 没有行级别的数据插入更新和删除操作,那么往表中装载数据的唯一途径就是使用一种“大量”的数据装载操作,或者通过其他方式仅仅将文件写入到正确的目录下: LOAD DATA LOCAL INPATH '${env:HOME}/califonia-employees' OVERWRITE INOT TABLE employees PARTITON (country=''US, state='CA') ; 向管理表中装载数据,如果目录不存在的话, overwrite

Hive基础之Hive体系架构&运行模式&Hive与关系型数据的区别

Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端口是10000:启动方式:hive --service hiveserver WEBUI(浏览器访问hive):通过浏览器访问hive,默认端口是9999:启动方式:hive --service hwi 2)元数据存储(Metastore):启动方式:hive -service metastore

ASP.NET MVC5--为数据库新增字段(涉及数据库迁移技术)

Setting up Code First Migrations for Model Changes--为模型更改做数据库迁移. 1.打开资源管理器,在App_Data文件夹下,找到movies.mdf数据库文件,如果没有看到点击显示所有文件. 2.删掉movies.mdf数据库文件,并编译项目.确保没有报错. 3.找到工具菜单栏下面的NuGet程序包管理器---程序包管理器控制台,如图所示: 4,在程序包管理器控制台中,输入:Enable-Migrations -ContextTypeName

使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. 1.问题背景 使用Sqoop把oracle数据库中的一张表,这里假定为student,当中的数据导入到hdfs中,然后再创建hive的external表,location到刚才保存到hdfs中数

常规版本如果新增字段或新增状态如何正确处理

原则:如果一个版本需要新增字段或新增状态,程序必须考虑兼容历史旧数据,即程序正确运行的前提不能依赖历史的完整维护正确实施的实践: 1 如果一个版本涉及新增字段或新增状态,必须在设计阶段给出程序兼容方案及历史数据维护脚本. 2 正确发版顺序为:先执行ddl脚本(如果新增字段),再发布应用程序(该程序能够兼容历史数据),最后执行dml脚本维护历史数据. 该做法带来的好处: 1 如果脚本没有完整维护数据,兼容程序也能正常运行而不必回滚程序. 2 强制编码支持ddl先行发布. 3 如果发布顺序错乱,程序

HIVE几种数据导入方式

HIVE几种数据导入方式 今天的话题是总结Hive的几种常见的数据导入方式,我总结为四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中.我会对每一种数据的导入进行实际的操作,因为纯粹的文字让人看起来很枯燥,而且学起来也很抽象.好了,开始操作! 一.从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: hive

Oracle 之 表新增字段后修改字段顺序

工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段的位置. 1.原始方法: --新建临时表以存储正确的顺序 create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ; --删除表A_1 drop table A_1; --新建A_1并从A_2表中赋予其正确的顺序和值 create table A_1 as select * from A_2; --删除临时表A_2 drop table A_2; 这种方法对字段较少