将数据导入HIVE表,列值超过一行

时间:2013-08-26 22:11:03

标签: hadoop hive

我有一个CSV文件,其中的列包含多行数据。当我尝试将数据导入HIVE表时,默认情况下需要一行并导入错误的结果。

示例文件

1,“第1行

第2行“,12/23/2012

2,“Line 1 Line 2”12/24/2012。

在这种情况下,它将第一个条目视为两个单独的行。缓解这个问题的命令是什么?

2 个答案:

答案 0 :(得分:0)

使用以下内容:

root@system>>cat file.txt
1,"Line 1
Line 2", 12/23/2012
2, "Line 1 Line 2" 12/24/2012.

root@system>> sed '{N;s/\n/ /g}' file.txt

输出是:

1,"Line 1 Line 2", 12/23/2012
2, "Line 1 Line 2" 12/24/2012.

(N)将下一行添加到工作缓冲区。 现在,您可以进一步解析并将数据存储到Hive表中。

答案 1 :(得分:0)

好像现在Hive仅支持默认的行分隔符'\ n'。因此,您必须编辑文件以导入Hive Table。