【问题标题】:Does HIVE accept CTRL character?HIVE 是否接受 CTRL 字符?
【发布时间】:2017-02-08 16:52:29
【问题描述】:

Hive 是否接受由'\r\n' 终止的 CTRL 行?我必须为 Windows 生成一个文本文件,并希望使用 CRLF 进行行终止。如果是这样,你能告诉我我是否给出了正确的吗?

'\r\n'终止的行

【问题讨论】:

  • AFAIK,用于文本文件的 Hive SerDe 匹配 any 常用的行终止符,即\n(Linux 等)或\r\n(Windows)或\r(较旧的 Mac)。只需将 Windows 文件上传到 HDFS 并进行测试。

标签: hive newline hiveql ddl


【解决方案1】:

在 hive documentation 中,行分隔符是 char,因此它不应该接受两个字符!

row_format   : DELIMITED 
    [FIELDS TERMINATED BY char [ESCAPED BY char]]
    [COLLECTION ITEMS TERMINATED BY char]
    [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
    [NULL DEFINED AS char] (Note: Only available starting with Hive 0.13)

【讨论】:

    【解决方案2】:

    目前仅支持\n
    看看这张 JIRA 票。

    演示

    hive> create table t (i int) row format delimited lines terminated by '\r\n' location '/tmp';
    FAILED: SemanticException 1:64 LINES TERMINATED BY only supports newline '\n' right now. Error encountered near token ''\r\n''
    hive> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      相关资源
      最近更新 更多