在Hadoop中使用HIVE-Error和回车符加载电子邮件数据



我试图在hadoop加载文本数据。以下是细节

文件:

"2014年4月30日和2014年5月2日有效对比"

日期:2014年4月29日星期二18:09:20 +0530 (IST)|

来自:Rahul Tandel/AHD/TCS

To: pravita tolanavar |

Cc: upendra.bhandari@uno1.com |

主题:2014年4月30日和2014年5月2日有效对比|

亲爱的Pravita,我将于周三(2014年4月30日)休假周五(2014年5月2日),因为我在周末工作-周六(4月13日)2014-第二班)和周六(2014年4月19日-第一班)。我有也通知了Kamlesh。

谢谢,关于拉胡尔·坦德尔PS PAG PGA邮件:rahul.tandel@uno1.com网站:http://www.uno1.com

HIVE Table schema:

" create table mail (mail_data STRUCT<DATE_M:STRING, FROM_m:STRING, TO_m:STRING,   CC_M:STRING, SUBJECT_m:STRING, DATA_M:STRING>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '01' COLLECTION ITEMS TERMINATED BY '174' LINES TERMINATED BY 'n';"

表创建成功。但是当我加载数据时,我看到的是19行而不是一行。我试图找到原因,似乎hive没有一个机制来检测换行符和打破输入文件。

如果有人有更好的解决方案,请帮助

输入代码

的问候Upendra

我有完全相同的情况,我所能做的就是用regexp_replace函数替换新的行和表:

regexp_replace(TEXT_HERE, '\t|\r|\n', ' ')

如果有人有更好的解决方案,我将不胜感激!

最新更新