我的Hadoop面试场景查询-solution可以在HIVE / PIG / MapReduce中

时间:2016-06-06 10:52:19

标签: hadoop mapreduce hive apache-pig

我在下面的文件中有数据(逗号(,)分隔)。

ID,Name,Sal
101,Ramesh,M,1000
102,Prasad,K,500

我希望输出表格如下所示

101, Ramesh M, 1000
102, Prasad K, 500

,即输出中单个列中的名称和姓氏

在Hive中,如果我将行格式分隔的字段以','终止,则无效。我们需要写一个serde吗?

解决方案也可以是MR或PIG。

2 个答案:

答案 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