如何往hive直接插入自定义数据values

我们熟知的hive支持插入数据的方式有两种,覆盖写入insert overwrite和增量写入insert into。常见数据获取方式有两种(1)文件导入load data (local) inpath…(2)查询导入 insert overwrite/into table select * from table1…

但是,hive支不支持直接插如自定义数据呢,有没有类似sql类数据库的“insert into table1 values (‘sss’,‘sss’,…)”这样的写法呢?

答案是因版本而异,在早一点的版本里,hive 并不支持事务和行级更新,也就是说,你不能单独插入某一行数据或者单独删除某一行数据。而自从hive0.14版本开始,通过配置支持事务可以实现hive的行级更新。

先查看自己的版本吧,hive没有提供hive -version这样的功能,所以需要我们用whereis hive找到文件所在路径,然后进入 /hive/lib 查看jar包名称
如何往hive直接插入自定义数据values_第1张图片
如图我这边是0.14版本。

如果你也是0.14版本,恭喜你,你可以直接插入自定义数据了。

直接敲语句insert into table tablename1 values ('R3700','aaaa');即可,注意要用单引号括住string类型的数据,而不能用双引号括住,否则报错。
如何往hive直接插入自定义数据values_第2张图片
如果你想插入多行,直接在后面加就行了:
insert into table tablename1 values ('R3700','aaaa'),('xxxxx','xxxx'),('xxxx','xxxx')......;

想了解更多hive的行级操作增删改查,可以进一步搜索 “hive ACID”

你可能感兴趣的:(hive)