sqoop 导入的文件名

filename of the sqoop import

当我们使用 sqoop 从 RDBMS 导入 HDFS 时,我们将提供目标目录来存储数据,一旦作业完成,我们可以看到文件名 part-m-0000 作为映射器输出。有什么方法可以传递存储数据的文件名吗? sqoop有这样的选项吗?

不,你不能重命名它。

您可以指定 --target-dir <dir> 来告诉 目录的位置 所有数据导入的位置,

在此目录中,您会看到许多零件文件(例如 part-m-00000)。这些零件文件是由各种映射器创建的(请记住在您的 sqoop 导入命令中 -m <number>

由于数据是在多个文件中导入的,您如何命名每个部分文件?

我没有看到这次重命名有任何额外的好处。

根据this answer,您可以使用 -D 选项指定传递给 mapreduce 的参数,它可以接受文件名选项: -Dmapreduce.output.basename=myoutputprefix 虽然这会更改文件的基本名称,但不会更改部件号。

其他网站上的相同答案: