我想通过启动钻头将 drill.exec.hashjoin.fallback.enabled 设置为系统级别的 true

我可以在我的 session 期间设置它,如 alter session setrill.exec.hashjoin.fallback.enabled =TRUE; ,我也知道 drill-override.conf 文件。但是,如何通过将环境变量传递给我的容器来设置它,例如:

    drill:
        image: drill/apache-drill
        restart: always
        environment:
            # - DRILL_EXEC_HASHJOIN_FALLBACK_ENABLED=TRUE
            # - DRILLBIT_JAVA_OPTS="-Ddrill.exec.hashjoin.fallback.enabled=true"
            - DRILLBIT_JAVA_OPTS="-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true"
        tty: true
        volumes:
            - orlando:/orlando
        ports:
            - "8047:8047"
            - "31010:31010"

最佳答案

您能否澄清一下,Drill 是在嵌入式模式还是分布式模式下启动的?

对于分布式模式,DRILLBIT_JAVA_OPTS=-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true 应该按预期工作,但对于嵌入式,不考虑此变量,应使用 DRILL_JAVA_OPTS 变量:

- DRILL_JAVA_OPTS=-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true

更多变量描述请引用https://github.com/apache/drill/blob/master/distribution/src/resources/runbit#L36

关于java - 如何将 Apache Drill 选项配置为环境变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58234237/

10-08 20:43