hadoop - 在 udf 中加载外部属性文件

标签 hadoop user-defined-functions apache-pig

当写一个 UDF 比方说一个 EvalFunc 时,是否可以传递一个配置文件

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

在 Hadoop 模式下运行时?

最好的, 将

最佳答案

这是 从 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();
}

关于hadoop - 在 udf 中加载外部属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6032380/

相关文章:

hadoop - MapReduce 中的分区究竟是如何工作的?

mysql - 如何自动化 Hive 查询

hadoop - 将行转换为 pig 中的列

hadoop - hadoop pig mapreduce分布式cach文件

java - 执行错误,从org.apache.hadoop.hive.ql.exec.FunctionTask返回代码1

hadoop - 无法启动hbase.sh(引发错误)

azure - 无法在Ambari 2.5.2.1中添加和删除任何服务

sql - 传递一个表并返回一个表给存储过程或函数?

java - Hive UDF 未返回预期结果

sql-server-2005 - sql 挑选一个人名字符串并输出缩写