2014-09-01 47 views
0

我有一个由|〜分隔的日志文件,并且值也用双引号引起来。我尝试使用以下方法将文件加载到配置单元中。但我没有成功。需要处理并加载到配置单元的自定义分隔符

创建外部TABLE AUDIT_DETAIL ( EVENT_ID串 ,DETAIL_ID SMALLINT ,SERVER_CUID字符串 ,DETAIL_TYPE_ID SMALLINT ,DETAIL_TEXT字符串 ,START_TIMESTAMP DATE DEFAULT SYSDATE )行格式分隔的字段由终止 '|〜' 位置' /用户/ Audit_Detail';

除了配置单元udf之外,还有什么办法可以实现吗?

非常感谢

回答

0

您所使用的分隔符是不被支持,直到版本0.13多字符分隔符。这可能是你错误的原因。

参考:How can I do a double delimiter(||) in Hive?

+0

@KS Nidhin,我试过,我得到一个错误“错误在编译时声明:失败:ParseException的线10:1无法识别附近 'SERDE' '' org.apache.hadoop输入。 hive.serde2.lazy.lazysimpleserde'''with'in serde properties specification“ 这是我的ddl, CREATE ..ROW FORMAT DELIMITED FIELDS TERMINATED BY'\ 054'SERDE'org.apache.hadoop.hive.serde2。 lazy.LazySimpleSerDe'WITH SERDEPROPERTIES('field.delim'='|〜') 存储为文本文件; 如果我运行没有DELIMITED FIELDS TERMINATED BY'\ 054',我没有收到任何错误,但数据未正确加载 – vds 2014-09-03 11:51:00