1

在编写 UDF 让我们说一个 EvalFunc 时,是否可以传递一个配置文件

properties = new Properties();
properties.load(new FileInputStream("conf/config.properties"));

在 Hadoop 模式下运行时?

最好的,威尔

4

2 回答 2

4

这里Simple Example to Read and Write files from Hadoop DFS来自http://wiki.apache.org/hadoop/HadoopDfsReadWriteExample

也许您可以在其中找到一些有用的代码来完成您的工作。

以下是我的代码,它成功地在 hadoop 中加载了一个属性文件,我使用了Apache Commons Configuration http://commons.apache.org/configuration/

public static void loadProperites(String path) throws ConfigurationException, IOException {
    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);
    Path inFile = new Path(path);
    FSDataInputStream in = fs.open(inFile);

    PropertiesConfiguration config = new PropertiesConfiguration();
    config.load(in);

    in.close();
}
于 2011-06-15T03:58:59.590 回答
0

使用 Apache Commons Configuration2 和 vfs2:


Parameters params = new Parameters();
FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
                    new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class)
                            .configure(params.fileBased().setFileSystem(new VFSFileSystem())
                                    .setLocationStrategy(new FileSystemLocationStrategy())
                                    .setEncoding("UTF-8").setFileName(propertyPath));
config = builder.getConfiguration();

于 2019-09-03T08:12:59.313 回答