Hive修改行级别数据

Posted 我的旧博客地址:

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive修改行级别数据相关的知识,希望对你有一定的参考价值。

我们知道Hive0.14版本之前是不支持行级别的插入,更新,删除的,0.14版本之后可以通过修改相关配置得以支持,但是在不修改默认配置的情况下是不是完全没有办法呢?不是的,这里有个比较简单的方法,前提是表的存储格式为textfile~

以下是例子:

当前表emp

 

存储格式为textfile

 

到hdfs中查看数据

 

将数据下载下来:
$ hdfs dfs -get /user/hive/warehouse/test_db.db/emp/part-m-00000

 

vi查看数据

 

可以看到字段间的分隔符为Hive默认的^A(表示为八进制是\\001)
 
现在尝试在文本中添加一行记录(注意在linux下输入^A的做法:ctrl-v 再 ctrl-a)

 

保存退出。
先将hdfs上已有的文件删除
$ hdfs dfs -rm -r /user/hive/warehouse/test_db.db/emp/part-m-000000
再上传
$ hdfs dfs -put part-m-00000 /user/hive/warehouse/test_db.db/emp/
 
好了,到hive cli查看:

 

数据已经被插入进来啦,可以再试试更新,删除操作。

以上是关于Hive修改行级别数据的主要内容,如果未能解决你的问题,请参考以下文章

hive的数据能修改吗

Hive--03---DDL数据定义

hive修改分区字段值

CentOS 7.4 修改默认运行级别

数据库事务的四个隔离级别,mysql在哪一个级别

如何修改windows tomcat日志级别