我正在加载的文件由“”(空格)分隔。下面是文件。该文件位于 HDFS 中:-
001 000
001 000
002 001
003 002
004 003
005 004
006 005
007 006
008 007
099 007
1> 我正在创建一个外部表并通过发出以下命令加载文件:-
CREATE EXTERNAL TABLE IF NOT EXISTS graph_edges (src_node_id STRING COMMENT 'Node ID of Source node', dest_node_id STRING COMMENT 'Node ID of Destination node') ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE LOCATION '/user/hadoop/input';
2> 在此之后,我只是通过发出以下命令将表插入到另一个文件中:-
INSERT OVERWRITE DIRECTORY '/user/hadoop/output' SELECT * FROM graph_edges;
3> 现在,当我对文件进行分类时,字段不会被任何分隔符分隔:-
hadoop dfs -cat /user/hadoop/output/000000_0
输出:-
001000
001000
002001
003002
004003
005004
006005
007006
008007
099007
有人可以帮我吗?为什么要删除分隔符以及如何分隔输出文件?
在我尝试过的 CREATE TABLE 命令中,我DELIMITED BY '\t'
得到了不必要的 NULL 列。
任何指针都非常感谢。我正在使用 Hive 0.9.0 版本。