gpt4 book ai didi

java - 如何将通用参数传递给hadoop jar

转载 作者:行者123 更新时间:2023-12-02 21:42:44 24 4
gpt4 key购买 nike

我将参数传递给hadoop jar,如下所示:

hadoop  jar C:\Pointerfile.jar main.com.asos.recommendations.Pointerfile -D Signal=Signaltest -D ProductData=ProductData -D CustomerSegment=CustomerSegment -D CustomerCategory=CustomerCategory -D P2PSimilarity=P2PSimilarity -D ProductCategory=ProductCategory/test -D ProductSegment=ProductSegment/test  -D Customer=Customer -D ProductDataCN=ProductDatab -D CustomerSegmentCN=CustomerSegmentb -D CustomerCategoryCN=CustomerCategoryb -D P2PSimilarityCN=P2PSimilarityb -D ProductCategoryCN=ProductCategoryb -D ProductSegmentCN=ProductSegmentb -D SignalCN=Signalb -D CustomerCN=Customerb -D SAN=SAN -D version=v0.1

在java代码中,我试图访问这些参数:
Configuration conf = new Configuration();        
System.out.println("parameters are" + conf.get("Signal"));

但它返回null。

我也试过删除空间:
-DSignal=信号和“-DSignal=信号”

最佳答案

使用这种类:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;

public class MyClass extends Configured implements Tool {

@Override
public int run(String[] args) throws Exception {
Configuration conf = getConf();
System.out.println("parameters are" + conf.get("Signal"));

// Some code ...

return 0;
}

public static void main(String[] args) throws Exception {
int exitCode = ToolRunner.run(new MyClass(), args);
System.exit(exitCode);
}
}

在这个类中,getConf() 将填充参数。
通话时,请勿使用空格或引号:
hadoop  jar C:\Pointerfile.jar main.com.asos.recommendations.Pointerfile -DSignal=Signaltest -DProductData=ProductData -DCustomerSegment=CustomerSegment -DCustomerCategory=CustomerCategory -DP2PSimilarity=P2PSimilarity -DProductCategory=ProductCategory/test -DProductSegment=ProductSegment/test  -DCustomer=Customer -DProductDataCN=ProductDatab -DCustomerSegmentCN=CustomerSegmentb -DCustomerCategoryCN=CustomerCategoryb -DP2PSimilarityCN=P2PSimilarityb -DProductCategoryCN=ProductCategoryb -DProductSegmentCN=ProductSegmentb -DSignalCN=Signalb -DCustomerCN=Customerb -DSAN=SAN -Dversion=v0.1

关于java - 如何将通用参数传递给hadoop jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27510455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com