我在下面的文件中有数据(逗号(,)分隔)。
ID,Name,Sal
101,Ramesh,M,1000
102,Prasad,K,500
我希望输出表格如下所示
101, Ramesh M, 1000
102, Prasad K, 500
,即输出中单个列中的名称和姓氏
在Hive中,如果我将行格式分隔的字段以','终止,则无效。我们需要写一个serde吗?
解决方案也可以是MR或PIG。
答案 0 :(得分:3)
为什么你不使用concat函数,如果你不想要流程数据而只是查询原始数据,考虑在其上创建view:
select ID,concat(Name ,' ' ,Surname),Sal from table;
答案 1 :(得分:1)
您可以使用concat功能。
首先,您可以使用逗号分隔的4列原始数据创建表(即table1):
ID, first_name,last_name, salary
然后使用select query连接first_name和last_name,并使用CTAS(Create TABLE AS SELECT)功能将结果存储在另一个表中
CREATE TABLE EMP_TABLE AS SELECT ID, CONCAT(first_name,' ','last_name) as NAME, salary from table1