복붙노트

[HADOOP] 만들기 및 하이브에 새 열을 업데이트

HADOOP

만들기 및 하이브에 새 열을 업데이트

나는 SQL과 하이브 새로운 오전. 내가 2 열을 추가 할 필요가 어디 하이브의 테이블이있다. 하나는 "ROW_ID"이고 다른 "cto_id"입니다. 나는 하이브 기능과 "cto_id"라는 새 열을 사용하여 행 ID를 추가했습니다.

나는 "CTO1101"+ ROW_ID 같은 값을 포함하는 등 "cto_id"열에서 업데이트 된 값을 원하는

내가 어떻게 해? 다음은 내 코드입니다.

-- assigning row number to each record in mu_temp_trials table
select *, row_number() over() as row_id from mu_temp_trials;

--adding new column for primary key in mu_temp_trials
alter table mu_temp_trials add columns(cto_id string);
//update mu_temp_trials set cto_id = "CTO_1101"+row_id; - I want to write this code in hive

해결법

  1. ==============================

    1.도움이 되었기를 바랍니다!

    도움이 되었기를 바랍니다!

    #let's say table mu_temp_trials has two columns - col1 & col2    
    ALTER TABLE mu_temp_trials ADD COLUMNS(cto_id STRING, row_id STRING);
    
    
    INSERT OVERWRITE TABLE mu_temp_trials
    SELECT  a.col1, a.col2, concat_ws('','CTO1101',cast(a.row_id as string)) AS cto_id, cast(a.row_id as string) AS row_id
    FROM (SELECT  col1, col2, row_number() over() AS row_id FROM mu_temp_trials) a;
    

    이 문제를 해결하는 경우가 있으면 알려 주시기 잊지 마세요 :)

  2. from https://stackoverflow.com/questions/45438453/creating-and-updating-a-new-column-in-hive by cc-by-sa and MIT license