1.准备数据
在本地新建数据文件:
vi /tmp/stu.dat
1,z3,11,Computer
2,z4,12,Math
3,z5,21,Computer
4,z6,31,Art
在Hive中建一个不分区的表...,然后导入数据文件:
CREATE TABLE student(
sid INT, sname STRING, sage INT, sdept STRING
)
ROW FORMAT DELIMITED...('transactional'='true');
分析:为了支持数据更新,表根据sid列的值分布到8桶,数据的存储格式是orc,表的属性值transactional设为true
3.导入数据
因为事务表不能使用...(旧值+10得到的)新值:
UPDATE student_tx SET sage=sage+10 WHERE sage<20;
完成更新后查询表:
select * from student_tx;
参考效果...;
参考效果:
补充练习:事务的原子性
重要:定义事务需要在高版本的Hive程序中运行
假设使用insert插入一些数据记录后,使用select查询进行分析,然后使用delete删掉这些数据,但是在删除的出错了