Файл, который я загружаю, разделяется символом '' (пробел). Ниже находится файл. Файл находится в 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 > Теперь, когда я cat файл, поля не разделяются каким-либо разделителем: -
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.