hadoopmapreduce中的java连接问题

bvjveswy  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(335)

在hadoopmapreduce程序中,我试图从 connection.properties 文件,也在正确的类路径中。
代码:

public synchronized Connection getConnection() {
    return getDetails(); // inside try catch block
}   

public Connection getDetails() throws SQLException, IOException {
    Properties props = new Properties();
    FileInputStream in = new FileInputStream("connection.properties");
    props.load(in);
    in.close();
    String drivers = props.getProperty("jdbc.drivers");
    if (drivers != null) {
        System.setProperty("jdbc.drivers",drivers);
    }
    String url = props.getProperty("jdbc.url");
    String username = props.getProperty("jdbc.username");
    String password = props.getProperty("jdbc.password");
    return DriverManager.getConnection(url, username, password);
}

但在运行我的驱动程序主程序时,会出现一个错误:

java.io.FileNotFoundException: connection.properties (No such file or directory)

你知道吗?

4smxwvx5

4smxwvx51#

为了运行使用属性文件的mapreduce,您需要将其与代码打包在一起,而不是使用传统的从本地系统读取文件流的方法,您可以从已经构建的jar中读取它
正在从jar读取属性:

InputStream stream = this.getClass().getResourceAsStream("foo.properties"))

相关问题