我有一个映射器。Hadoop流式Python多输入文件单映射器
for line in sys.stdin:
#if line is from file1
#process it based on some_arbitrary_logic
#emit k,v
#if line is from file2
#process it based on another_arbitrary_logic
#emit k, v
,我需要通过调用一个Hadoop流API这个映射器-input file1
和另一-input file2
。
我该如何做到这一点?我怎么知道哪一行属于STDIN
hadoop streaming给我的文件?
UPDATE
File1
Fruit, Vendor, Cost
Oranges, FreshOrangesCompany, 50
Apples, FreshAppleCompany, 100
File2
Vendor, Location, NumberOfOffices
FreshAppleCompany, NewZealand, 45
FreshOrangeCompany, FijiIslands, 100
我需要做的是在多少办公室做他们卖橘子打印出来。
Oranges 100
。
所以这两个文件都需要为INPUT
给映射器。
来自stdin的数据是比file1和file2更新的数据源吗?或者你想通过file1和file2运行你的mapreduce作业吗? –
@DonaldMiner看到这个http://stackoverflow.com/a/4839045/2358206 – ComputerFellow
@DonaldMiner Hadoop流为映射器提供了stdin作为文件接收的东西,这就是http://stackoverflow.com/users/37751/jd-长在那里解释。 – ComputerFellow