我已提到先前的帖子将一列分成两列。看起来我所指的示例是sql,与Hive相比可能有所不同。如何将orig_data转换为结果数据?
orig_data
name location code
Andrew M NY 145-ABG
Paul C NY 1787-ATG
Kate M NY 3874-WV
results
name location ID per
Andrew M NY 145 ABG
Paul C NY 1787 ATG
Kate M NY 3874 WV
select
name, location,
left(code, charindex('-',code) as id, --not working
right(code, charindex('-',code) as per, --not working
from
orig_table;
答案 0 :(得分:0)
使用varFilepath+varFilename+varDate+”.csv”
varDate =
(dt_wstr,4)(datepart("yy",getdate()) ) + (dt_wstr,2)(datepart("mm",getdate()))
+ (dt_wstr,2)(datepart("dd",getdate()) )+ (dt_wstr,2(datepart("hh",getdate()))
+ (dt_wstr,2)(datepart("n",getdate()) )+(dt_wstr,2)(datepart("ss",getdate()))
和substr
instr
答案 1 :(得分:0)
这是一个例子:
INSERT INTO TABLE bdp.optrans_tbl
SELECT
CONCTNS.splitted_cnctns[0] AS con1,
CONCTNS.splitted_cnctns[1] AS con2,
CONCTNS.splitted_cnctns[2] AS con3
FROM
(SELECT
split(connections,',') AS splitted_cnctns FROM bdp.transact_tbl)CONCTNS;
如需了解详情,请参阅http://bigdataprogrammers.com/split-one-column-into-multiple-columns-in-hive/