2016-04-06 3 views
0

У меня проблема с моим скриптом для улья.Вставить в HIVE

Я хочу извлечь два столбца из одной таблицы с двумя отличиями, где клаузулы в новую таблицу. Я делаю следующее:

create database IF NOT EXISTS basedatos_financiera; 
use basedatos_financiera; 
create table IF NOT EXISTS nasdaq (fecha string,open float,high float,low float,close float,volume float,adjclose float) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; 
load data local inpath '/home/Documents/Data/nasdaq.csv' overwrite into table nasdaq; 

DROP TABLE IF EXISTS aux_nasdaq; 

create table IF NOT EXISTS aux_nasdaq (dif float,predic float); 


insert into aux_nasdaq (dif) select open from nasdaq where nasdaq.fecha >= '1971-02-08' and nasdaq.fecha <='2016-04-01'; 

insert into aux_nasdaq (predic) select close from nasdaq where nasdaq.fecha >= '1971-02-05' and nasdaq.fecha <='2016-03-31'; 

Делая это новая таблица aux_nasdaq генерировать два столбца, как я хочу, но с проблемой нулевых полей, что-то вроде этого:

Example of the problem

ответ

0

попробовать это,

insert into aux_nasdaq (dif, predic) 
SELECT 
    CASE 
      WHEN nasdaq.fecha >= '1971-02-08' and nasdaq.fecha <='2016-04-01' 
       THEN open 
      ELSE NULL 
      END AS dif 
    CASE 
      WHEN nasdaq.fecha >= '1971-02-05' and nasdaq.fecha <='2016-03-31' 
       THEN close 
      ELSE NULL 
      END AS predic 
FROM nasdaq 

Сначала попробуйте выбрать запрос, правильно получить данные или нет, затем использовать вставку. дайте мне знать, если вы не работаете

+0

Привет, большое спасибо за ответ, попробую, но присылайте мне следующую ошибку: http://imgur.com/g8Ii0QR –

+0

попробуйте обновленный запрос. На самом деле я подсчитал, почему произошла ошибка. –

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