gpt4 book ai didi

r - 如何使用JDBC/Hive构建一个运行Shiny应用程序的Dockerfile(需要rJava)?

转载 作者:行者123 更新时间:2023-12-02 19:03:50 24 4
gpt4 key购买 nike

我需要一个Dockerfile来运行 Shiny 的应用程序,该应用程序能够使用JDBC连接到Hive 。软件包RJDBC取决于软件包rJava,因此也取决于Java。现在,我测试了多个选项:

  • 以具有Java的摇摆器/反向手动添加Shiny
  • 使用 rocker / shiny 手动添加Java

  • 两种选择都部分起作用,但不能完全起作用。 Hive连接的R代码如下:
    require(RJDBC)
    urlJDBC = "jdbc:hive2://...:8443/;ssl=true;sslTrustStore=./cacerts;trustStorePassword=changeit?hive.server2.transport.mode=http;hive.server2.thrift.http.path=gateway/default/hive"
    driver = JDBC("org.apache.hive.jdbc.HiveDriver", "hive-jdbc-standalone.jar", identifier.quote="`")
    con = dbConnect(driver, urlJDBC, "username", "password")

    我还在Dockerfile中添加了JDBC Jar文件,其内容如下:
    ADD ... ./hive-jdbc-standalone.jar

    但是,我无法成功运行它。
    有人有可以与Shiny和Hive / JDBC一起使用的blueproint DOCKERFILE吗?会很好

    中号

    最佳答案

    经过错误方向几个小时的解决。

    问题出在版权管理上。 缺少对JAR文件的读取访问权限

    新的DOCKERFILE非常简单:

    FROM rocker/shiny

    # Download and rename JAR file with JDBC HIVE driver.
    WORKDIR /srv/shiny-server/apps/shinyhive
    ADD <..jar-on-local-server..> ./hive-jdbc-standalone.jar

    RUN apt-get update && apt-get install -y \
    openjdk-8-jdk liblzma-dev libbz2-dev libicu-dev libssl-dev \
    && R CMD javareconf

    RUN R -e "install.packages('RJDBC', repos='http://cran.r-project.org')"

    RUN chmod 777 -R .
    COPY . .
    COPY ./shiny-server.sh /usr/bin/shiny-server.sh

    EXPOSE 3838

    CMD ["/usr/bin/shiny-server.sh"]

    关于r - 如何使用JDBC/Hive构建一个运行Shiny应用程序的Dockerfile(需要rJava)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56473165/

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