为什么要学习Hive
一 为什么要学习HIVE?
为什么不是ORACLE和MYSQL?
因为大数据时代 数据量成几何倍数增长,并且数据量非常庞大。大到要用PB EB这种量级去衡量。而我们的ORACLE/MYQL这种数据库是TB级数据库,所以远远的达不到大数据时代对数据的要求。
还有由于大数据工程师主要来自两个方向:
第一 JAVA工程师 不过JAVA工程师主要解决架构与业务控制 MAPREDUCE开发 而对于关系型数据往往掌握的程度不如自身DBA或者SQL开发人员
第二 SQL工程师 大数据工程师中很多是来自过去的SQL工程师 而SQL工程师对JAVA语言的掌握不是很好,但是精通SQL语言开发。并且SQL语言能很好的描述业务和逻辑关系。所以这也是为什么HIVE - SQL逐步替代 JAVA - MAPREDUCE的原因。
但是HIVE也有缺点:最大的缺点就是对事务支持度不好!!!
什么是事务!!!
时间一切之事,均为事务。
事务特性:
A 原子性 事务要不然提交 要不然就回滚 不会有中间态。
C 一致性 你干完了或者你没干产生的结果 不影响你动手之前的事务状态
I 隔离性 A事务不会影响B事务 两个事务之间互不影响
D 持久性 一旦提交 不能回滚
set hive.exec.mode.local.auto=true;
create table jili (id int,name string,sex char(1),age int , address string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE;
load data local inpath '/root/jili.txt' into table jili;