如何在没有输入文件的情况下运行mrjob?

-1 投票
3 回答
767 浏览
提问于 2025-04-18 07:15

我有一个mrjob程序,它是用来从SQL数据库获取数据的,所以我根本不需要读取本地文件或任何输入文件。然而,mrjob却强制我必须“从标准输入(STDIN)读取”,所以我只好创建了一个空文件作为输入文件。这看起来真的很糟糕,有没有办法让这个程序在没有输入文件的情况下运行呢?

3 个回答

0

那我们可以直接用 /dev/null 吗?这样做虽然不能去掉输入的要求,但你就不需要每次都去创建一个空文件,因为这个东西一直都在。

python your_mr_job.py /dev/null
0

这里,找到叫做“文件选项”的部分。那应该能帮助你入门。

2

你有没有试过把mysql的输出通过管道传给mrjob?就像这样:

mysql -D database -u user < test.sql | python mrjob_script.py

撰写回答