2016-06-16 8 views
1

Привет, я новичок в Hive, и я хочу вставить текущую временную метку в свой стол вместе с рядом данных.Вставить отметку времени в Улей

Вот пример моей команды таблице:

team_id int 
fname string 
lname string 
time timestamp 

Я посмотрел на некоторые другие примеры, How to insert timestamp into a Hive table?, How can I add a timestamp column in hive и не могу заставить его работать. Это то, что я пытаюсь:

insert into team values('101','jim','joe',from_unixtime(unix_timestamp())); 

Я получаю ошибку является:

FAILED: SemanticException [Error 10293]: Unable to create temp file for insert values Expression of type TOK_FUNCTION not supported in insert/values 

Если кто-то может помочь, это было бы замечательно, большое спасибо Frostie

+0

Вставка не поддерживает дату UDF, который вы использовали еще. –

+0

Есть ли работа, которую вы знаете? –

ответ

5

Может быть достигнуто за счет current_timestamp() , но только через предложение select. даже не требуют предложения from в избранном статусе.

insert into team select '101','jim','joe',current_timestamp(); 

или если улей версия не поддерживает оставляя from в выберите даного

insert into team select '101','jim','joe',current_timestamp() from team limit 1; 
+1

Я пробовал вышеуказанное и получил следующую ошибку: 'ParseException line 1:65 Не удалось распознать предикат ''. Failed rule: 'regularBody' в statement' –

+0

Добавлен еще один запрос для получения результата. – syadav

+0

Привет @syadav это работает, но не отображается в таблице, но если я удаляю 'limit 1', он работает, но вводит несколько. Любая причина, почему это происходит или как я могу это исправить? –

0

Если вы уже не имеете таблицу, по крайней мере, одной строки, вы можете достичь желаемого результата, как например. Вставить в команду выберите '101', 'jim', 'joe', current_timestamp() from (выберите '123') x;

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