hive RegexSerDe View

EXTERNALkeyword它允许用户创建一个外部表。在表中的同时施工指定的路径中的实际数据(LOCATION)。Hive 创建内部表时。会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不正确数据的位置做不论什么改变。在删除表的时候,内部表的元数据和数据会被一起删除。而外部表仅仅删除元数据,不删除数据

1.  LIKE 同意用户复制现有的表结构,可是不复制数据

2.  hive中RegexSerDe的使用

RegexSerDe是hive自带的一种序列化/反序列化的方式,主要用来处理正則表達式。

   CREATETABLE test_serde(

   c0string,

   c1string,

   c2string)

   ROWFORMAT

   SERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'

   WITHSERDEPROPERTIES

   ('input.regex' = '([^ ]*) ([^ ]*) ([^ ]*)',

   'output.format.string'= '%1$s %2$s %3$s')

   STOREDAS TEXTFILE;

3.  表名和列名不区分大写和小写

4.       建立外部表指定数据存储路径

Create externaltable exter_trl(

Id int,

Name string,

Age int,

Tel string

Location ‘/user/data/trl/external’;

)

1、在导入数据到外部表。数据并没有移动到自己的数据仓库文件夹下,也就是说外部表中的数据并非由它自己来管理的!

而表则不一样;

2、在删除表的时候。Hive将会把属于表的元数据和数据所有删掉。而删除外部表的时候。Hive只删除外部表的元数据,数据是不会删除的。

  那么,应该怎样选择使用哪种表呢?在大多数情况没有太多的差别,因此选择仅仅是个人喜好的问题。

可是作为一个经验,假设全部处理都须要由Hive完毕,那么你应该创建表,否则使用外部表.。

5.按指定的分区载入数据

  Loaddata inpath

'/user/data/clickstat_gp_fatdt0/0' OVERWRITEINTO TABLE c02_clickstat_fatdt1

  PARTITION(dt='20140820');

5.      建表的同步指定hdfs的路劲

CREATE EXTERNALTABLE page_view(viewTime INT, userid BIGINT,

page_url STRING,referrer_url STRING,

ip STRINGCOMMENT 'IP Address of the User',

country STRINGCOMMENT 'country of origination')

COMMENT 'This isthe staging page view table'

ROW FORMATDELIMITED FIELDS TERMINATED BY '\054'

STORED ASTEXTFILE

LOCATION'<hdfs_location>';

6.      HIVE VIEW(视图降低复杂查询 )

CREATE VIEW test_trlAS 

SELECT * FROM t1JOIN t2 

ON (t1.id=t2.id)WHERE t1.name='trl';  

版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值