在udf中加载外部属性文件

时间:2011-05-17 14:30:45

标签: hadoop user-defined-functions apache-pig

编写UDF时,我们说一个EvalFunc,是否可以通过

传递配置文件
properties = new Properties();
properties.load(new FileInputStream("conf/config.properties"));

在Hadoop模式下运行时?

最佳, 将

2 个答案:

答案 0 :(得分:4)

以下是来自http://wiki.apache.org/hadoop/HadoopDfsReadWriteExample

Simple Example to Read and Write files from Hadoop DFS

也许你可以找到一些有用的代码来完成你的工作。

以下是我的代码,它成功加载了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();
}

答案 1 :(得分:0)

使用Apache Commons Configuration2和vfs2:

var t = new List<Prouducts>() { foundedDeviceOne , foundedDeviceThree , foundedDeviceThree  };