hive创建分区表 指定分隔符_Hive建表时指定分隔符或使用多字符分隔


一、正常建表,采用默认的分隔符:

hive 默认的字段分隔符为ascii码的控制符\001,建表的时候用fields terminated by '\001',如果要测试的话,造数据在vi 打开文件里面,用ctrl+v然后再ctrl+a可以输入这个控制符\001。按顺序,\002的输入方式为ctrl+v,ctrl+b。以此类推。

二、指定特定的特殊符号作为分隔符:

CREATE TABLE test(id int, name string ,tel string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'LINES TERMINATED BY '\n'STORED AS TEXTFILE;

上面使用了'\t'作为了字段分隔符,'\n'作为换行分隔符。如果有特殊需求,可以自己动手改一下这两个符号就行了。

三、使用多字符作为分隔符:

假设我们使用【##】来作为字段分隔符,【\n】作为换行分隔符,则这里有两个方法:

1、使用MultiDelimitSerDe的方法来实现:

CREATE TABLE test(id int, name string ,tel string) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' WITH SERDEPROPERTIES ("field.delim"="##") LINES TERMINATED BY '\n'STORED AS TEXTFILE;

2、使用RegexSerDe的方法实现:

CREAET TABLE test(id int, name string ,tel string) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' WITH SERDEPROPERTIES ("input.regex" = "^(.*)\\#\\#(.*)$") LINES TERMINATED BY '\n'STORED AS TEXTFILE;
————————————————
版权声明:本文为CSDN博主「weixin_39989159」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39989159/article/details/111789415


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM