我见过这种问题被问过很多次,但这些解决方案对我不起作用。我创建了一个外部配置单元表,因为我的数据是来自map only作业输出的。然后,通过load命令,我给出了特定文件的路径。它表现得很好。但当我付出 select * from table
命令返回某个具有空值的列。我执行的每个命令都在错误图片中。
文件中的分隔符是 ||
,所以我在create table命令中也提到了同样的内容。
这是我的输入文件。这是错误图片。我也试过用普通表代替外部表。这也表明了同样的错误。我还尝试将分隔符作为 //||
还有 \|\|
. 但都没用。
1条答案
按热度按时间9avjhtql1#
您面临的问题与多个字符作为字段分隔符有关。
根据文档,字段分隔符应该是
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: Available in Hive 0.13 and later)