2016-04-06 9 views
0

私のハイブスクリプトに問題があります。ハイブに挿入

同じテーブルから2つの列を抽出し、2つの異なる場所で新しいテーブルに句を挿入したいとします。これらの新しいテーブルを行う

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私が欲しいのように2つの列を生成しますが、ヌルフィールドの問題と、そのようなこと:イムは、次のをやって

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 

最初にデータを正しく取得するかどうかを選択してください。次にinsertを使用してください。

+0

こんにちは、私はあなたのことを試してみますが、私に次のエラーを送ってくれてありがとう:http://imgur.com/g8Ii0QR –

+0

更新されたクエリを試してみてください。実際に私はなぜエラーが発生したのかをカウントしていました。 –