Hadoop 如何使用sqoop从HDFS导入,并在导入时合并表的两列?

Hadoop 如何使用sqoop从HDFS导入,并在导入时合并表的两列?,hadoop,hdfs,sqoop,sqoop2,Hadoop,Hdfs,Sqoop,Sqoop2,我可以在导入或导出时合并两列或更多列吗?假设我在DBMS ID中有3列,FIRST_NAME,LAST_NAME,并且我想将其作为ID加载,只命名两列。那我该怎么做呢?试试下面的选项 sqoop import --connect <db server> --username <user> --password <password> --query "select ID,CONCAT(FIRST_NAME,LAST_NAME) from table" --tar

我可以在导入或导出时合并两列或更多列吗?假设我在DBMS ID中有3列,FIRST_NAME,LAST_NAME,并且我想将其作为ID加载,只命名两列。那我该怎么做呢?

试试下面的选项

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,CONCAT(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,CONCAT(名字,姓氏)”--target dir
因为你没有提到你的数据库和表名,所以我用一般形式写了它。

试试下面的选项

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,CONCAT(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,CONCAT(名字,姓氏)”--target dir
因为你没有提到你的数据库和表名,所以我用一般形式写了它。

试试下面的选项

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,CONCAT(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,CONCAT(名字,姓氏)”--target dir
因为你没有提到你的数据库和表名,所以我用一般形式写了它。

试试下面的选项

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,CONCAT(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,CONCAT(名字,姓氏)”--target dir

因为你没有提到你的数据库和表名,所以我用一般的形式写了它。

谢谢srinivasan得到了解决方案

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,concat(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,concat(名字,姓氏)”--target dir

谢谢srinivasan提供了解决方案

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,concat(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,concat(名字,姓氏)”--target dir

谢谢srinivasan提供了解决方案

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,concat(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,concat(名字,姓氏)”--target dir

谢谢srinivasan提供了解决方案

sqoop import --connect <db server> --username <user> --password <password> --query "select ID,concat(FIRST_NAME,LAST_NAME) from table" --target-dir <hdfs directory>
sqoop导入--connect--username--password--query“从表中选择ID,concat(名字,姓氏)”--target dir

感谢您的回复,我已经尝试过了,但在您正在使用的DBMS中,它只给出了0?。请提供查询以便进一步分析。在使用sqoop运行查询之前,直接在数据库上运行查询并检查查询输出。我使用的是MySQL,它在我编写的同一列中为我提供了相同的输出所有0,选择ID,fName+lName from employee;从ubuntu的Terminal开始,它在fName+lName列中仍然给出了0,因为你没有提到你的数据库,我给出了通用的concat语法,但我相信我的答案是正确的。它解决了你的问题吗?谢谢你的回复,我已经试过了,但是在你正在使用的DBMS中,它只给出了0?。请提供查询以便进一步分析。在使用sqoop运行查询之前,直接在数据库上运行查询并检查查询输出。我使用的是MySQL,它在我编写的同一列中为我提供了相同的输出所有0,选择ID,fName+lName from employee;从ubuntu的Terminal开始,它在fName+lName列中仍然给出了0,因为你没有提到你的数据库,我给出了通用的concat语法,但我相信我的答案是正确的。它解决了你的问题吗?谢谢你的回复,我已经试过了,但是在你正在使用的DBMS中,它只给出了0?。请提供查询以便进一步分析。在使用sqoop运行查询之前,直接在数据库上运行查询并检查查询输出。我使用的是MySQL,它在我编写的同一列中为我提供了相同的输出所有0,选择ID,fName+lName from employee;从ubuntu的Terminal开始,它在fName+lName列中仍然给出了0,因为你没有提到你的数据库,我给出了通用的concat语法,但我相信我的答案是正确的。它解决了你的问题吗?谢谢你的回复,我已经试过了,但是在你正在使用的DBMS中,它只给出了0?。请提供查询以便进一步分析。在使用sqoop运行查询之前,直接在数据库上运行查询并检查查询输出。我使用的是MySQL,它在我编写的同一列中为我提供了相同的输出所有0,选择ID,fName+lName from employee;从ubuntu的Terminal开始,它在fName+lName列中仍然给出了0,因为你没有提到你的数据库,我给出了通用的concat语法,但我相信我的答案是正确的。它解决了你的问题吗?。