【问题标题】:Custom delimiter that needs to be processed and loaded into hive需要处理并加载到 hive 中的自定义分隔符
【发布时间】:2014-10-25 16:02:12
【问题描述】:

我有一个由 |~ 分隔的日志文件,并且这些值用双引号括起来。我尝试使用以下方法将文件加载到配置单元中。但我没有成功。

创建外部表 AUDIT_DETAIL ( EVENT_ID 字符串 , DETAIL_ID 小整数 , SERVER_CUID 字符串 , DETAIL_TYPE_ID 小整数 , DETAIL_TEXT 字符串 , START_TIMESTAMP 日期默认 SYSDATE ) 以“|~”结尾的行格式分隔字段 location '/user/Audit_Detail';

除了hive udf还有什么方法可以实现吗?

非常感谢

【问题讨论】:

    标签: file hadoop hive delimiter


    【解决方案1】:

    您使用的分隔符是一个多字符分隔符,直到 0.13 版才支持。这可能是您错误的原因。

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

    【讨论】:

    • @KS Nidhin,我试过了,我得到一个错误,“编译语句时出错:失败:parseexception 行 10:1 无法识别'serde''org.apache.hadoop.hive 附近的输入。 serde2.lazy.lazysimpleserde'' 'with' 在 serde 属性规范“这是我的 ddl,创建 ..ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054' SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES ('field.delim'='|~') 存储为文本文件;如果我在没有 DELIMITED FIELDS TERMINATED BY '\054' 的情况下运行,我没有收到任何错误,但数据未正确加载
    猜你喜欢
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多