2015-05-14 29 views
2

公認的帖子中提到Using the Icelandic Thorn character as a delimiter in Hive 刺字符分隔符不蜂巢索恩字符分隔符不蜂巢

樣品表

CREATE EXTERNAL TABLE IF NOT EXISTS zzzzz_raw ( spot_id INT, activity_type_id INT, activity_type STRING, activity_id INT, activity_sub_type STRING, report_name STRING, tag_method_id INT ) PARTITIONED BY (dt DATE) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\-2' LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION '/raw/data/networkmatchtablesactivity/activity_cat';

輸出

SELECT *認可來自activity_cat_raw限制1;

4552126þ805759þeaasv101þ2275868þbfeaac01þBF_EA Access_Info Pageþ2  NULL NULL NULL NULL NULL NULL 2015-03-24 

我錯過了什麼嗎?

+0

你有沒有找到解決的辦法?我遇到同樣的問題(雙擊dcm日誌)。任何幫助將不勝感激! – TaylerJones

回答

-1

我找到了答案。 代替「-2」(刺分隔符),我用「-61」分隔符接着一個子串,以除去附加的符號,類似下面

CREATE EXTERNAL TABLE IF NOT EXISTS SSSSSS ( spot_id STRING, activity_type_id STRING, activity_type STRING, activity_id STRING, activity_sub_type STRING, report_name STRING, tag_method_id STRING ) PARTITIONED BY (dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\-61' LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION 'SSSSSS';

,然後使用子串,以除去其它符號

INSERT OVERWRITE TABLE vvvvvv PARTITION (dt) SELECT spot_id STRING, substr(activity_type_id,2), dt FROM SSSSS

希望它可以幫助..