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