2013-11-24 4 views
2

Я пытаюсь вставить некоторые данные из файла с разделителями табуляции в уже созданную таблицу HIVE. Я создал 4 базовые столбцы в таблице HIVE с именем «пользователи». Я использую следующую команду:Ошибка при вводе данных в таблицу HIVE

load data local inpath 'D:\users.txt' 
into table users; 

Я получаю следующее сообщение об ошибке после выполнения указанных выше команд:

FAILED: SemanticException [Error 10028]: Line 1:23 Path is not legal ''D:\users.txt'': Source file system should be "file" if "local" is specified 

Я использую Windows 7 и работаю на Hive Amazon Web Services с помощью шпаклевки. Любая помощь будет принята с благодарностью.

ТИА

+1

я не уверен, как это работает в окнах .. но похоже, что вы должны предоставить файл: /// D: //users.txt –

+0

sonic is right: java работает с '/' как разделитель файла, а не на windoes-like '\' – xhudik

+0

в любом случае вы не можете загрузите файл прямо с вашего локального компьютера, чтобы улей на AWS. локальное ключевое слово означает локально на сервере, на котором работает hive, и файл из hdfs. скопируйте файл на сервер (например, с помощью winscp), а затем выпустите команду load с локальным путем на сервере – dimamah

ответ

1

Итак, наконец, если кто-то пытается добавить значения в таблицу из табуляцией текстовый файл, следующая команда должна работать:

hive> create table test_table(k string, v string) row format delimited fields terminated by '\t' stored as textfile; 
+0

Вышеуказанная команда будет работать после того, как файл с разделителями табуляции будет скопирован на сервер. Я сделал это с помощью WinSCP. – Patthebug

Смежные вопросы