我正在尝试在hadoop中加载文本数据。以下是详细信息
文件:
" 2014年4月30日和2014年5月2日的综合比赛.eml"
日期:星期二,2014年4月29日18:09:20 +0530(IST)|
来自:Rahul Tandel / AHD / TCS
致:pravita tolanavar |
抄送:upendra.bhandari@uno1.com |
主题:2014年4月30日和2014年5月2日的综合比赛|
亲爱的Pravita,我在周三(2014年4月30日)和 星期五(2014年5月2日)我正在周末工作 - 周六(4月13日) 2014-2nd Shift)和周六(2014年4月19日轮班)。我有 告知Kamlesh同样如此。谢谢&关注Rahul Tandel PS PAG PGA Mailto:rahul.tandel@uno1.com 网站:http://www.uno1.com
HIVE表架构:
" 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 '\001' COLLECTION ITEMS TERMINATED BY '\174' LINES TERMINATED BY '\n';"
表是成功创建的。但是当我加载数据时,我看到的是19行而不是单行。 我试图找到原因,似乎蜂巢没有一种机制来检测换行并打破输入文件。
如果有人有更好的解决方案,请帮助
在这里输入代码
此致 众议员
答案 0 :(得分:0)
我有完全相同的情况,我设法做的就是用regexp_replace函数替换新的行和表格:
regexp_replace(TEXT_HERE, '\\t|\\r|\\n', ' ')
如果有人有更好的解决方案,我将不胜感激!