如何在没有输入文件的情况下运行mrjob?
我有一个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