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
虽然这会更改文件的基本名称,但不会更改部件号。
其他网站上的相同答案:
当我们使用 sqoop 从 RDBMS 导入 HDFS 时,我们将提供目标目录来存储数据,一旦作业完成,我们可以看到文件名 part-m-0000
作为映射器输出。有什么方法可以传递存储数据的文件名吗? sqoop有这样的选项吗?
不,你不能重命名它。
您可以指定 --target-dir <dir>
来告诉 目录的位置 所有数据导入的位置,
在此目录中,您会看到许多零件文件(例如 part-m-00000
)。这些零件文件是由各种映射器创建的(请记住在您的 sqoop 导入命令中 -m <number>
)
由于数据是在多个文件中导入的,您如何命名每个部分文件?
我没有看到这次重命名有任何额外的好处。
根据this answer,您可以使用 -D 选项指定传递给 mapreduce 的参数,它可以接受文件名选项:
-Dmapreduce.output.basename=myoutputprefix
虽然这会更改文件的基本名称,但不会更改部件号。
其他网站上的相同答案: