Hive에서의 파티션의 결과는 ymd=201807/hh24=03
의 형태로 값이 넘어온다.
하나의 컬럼에 다음과 같이 들어오기 때문에 로우를 파싱해야한다.
내가 원하는 결과는 ymd=201807
, hh24=03
의 두개의 컬럼으로 나누고,
나눈 결과를 다시 한번더 처리해서 ymd의 컬럼에 201807, hh24의 컬럼에 03이 들어 가도록 처리하고 싶다.
str.split(delimiter', expand=True)
를 통해서 하나의 컬럼을 두개의 컬럼으로 나눌 수 있다.
df[['First','Last']] = df.Name.str.split("_",expand=True)
def parse_partition(df):
df[['ymd', 'hh24']] = df['partition'].str.split("/", expand=True)
df[['ymd', 'ymd_v']] = df['ymd'].str.split("=", expand=True)
df[['hh24', 'hh24_v']] = df['hh24'].str.split("=", expand=True)
df = df[['ymd_v','hh24_v']]
df.columns = ['ymd', 'hh24']
return df