apache配置单元字符串拆分

tkclm6bt  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(284)

这个表只包含一个字符串列。我想用''拆分每一行,然后用apache配置单元把它们放在一个单独的表中。我应该怎么做?

3htmauhk

3htmauhk1#

一个非常简单的方法是:

create table database.new_table as
select split(col_value,',')[0] as column_1 
, split(col_value,',')[1] as column_2
, split(col_value,',')[2] as column_3
-- and so no till your nth column
, split(col_value,',')[10]as column_11 
from database.oldtable;

所有列都将是string类型。如果希望列不是字符串,而不是按如下方式转换:

, select cast(split(col_value,',')[2] as double) as column_3

您可以强制转换配置单元提供的任何数据类型,int、bigint、double。。。
带子查询

create table database.new_table as
select A[0] as column_1,
       A[1] as column_2
       -- and so on till your nth column
from (
    select split(col_value,',') as A 
    from database.oldtable ) x;

相关问题