Hive外部表包含换行符的数据

时间:2015-10-04 10:17:34

标签: hadoop hive newline

我有几个txt文件,我想在其上创建一个外部表。 不幸的是,文件的内容还包含字符串" \ n"时。似乎Hive将此解释为换行符,即使它不是原始文件中的换行符,也只是文本的一部分。 我是否可以在Hive中捕获此问题而无需更改原始txt文件?

1 个答案:

答案 0 :(得分:0)

您可以在每行的末尾添加任何其他分隔符(除了\ n和您的字段分隔符之外)。并且可以在表属性中注册该分隔符。 例如:我们说我有这样的记录

1,2,3,aniit \ N,4 \ n

在这条记录中,aniit \ n是一个字符串,\ n是字符串。所以hive使它成为两个记录。要避免这种情况,你可以在end添加任何其他分隔符。喜欢

1,2,3,aniit \ N,4 \ n ||

在这里' ||'是行分隔符,我的创建表将如下所示:

    create external table if not exists table1
    (
    col1 int,
    col2 int,
    col3 int,
    col4 string,
    col5 string
    )
    row format delimited fields terminated by ','
    lines terminated by '||'
    stored as textfile
    location '/tmp/table1';