-1

有什么方法可以在 spark 中设置 presto 的会话参数,同时从中构建 Dataframe。

public Dataset<Row> readPrestoTbl(){
   Dataset<Row> stgTblDF = sparksession
                            .read()
                            .jdbc(dcrIdentity.getProperty(env + "." + "presto_url")
                            + "?SSL="
                            + dcrIdentity.getProperty(env + "."
                                    + "presto_client_SSL"), demoLckQuery, getDBProperties());
}

private Properties getDBProperties() {
        Properties dbProperties = new Properties();
        dbProperties.put("user", prestoCredentials.getUsername());
        dbProperties.put("password", prestoCredentials.getPassword());
        dbProperties.put("Driver", "io.prestosql.jdbc.PrestoDriver");
        dbProperties.put("task.max-worker-threads", "10");
        
        return dbProperties;
      }

我设置 task.max-worker-threads 这个属性的方式是有任何选项来设置会话属性,例如 required_workers_count 或 query_max_run_time 等。

我也尝试了以下选项,但每次都显示无法识别的连接属性'sessionProperties'。

在添加属性时

 dbProperties.put("sessionProperties","task.max-worker-threads:10");

在火花中加载时

.option("sessionProperties", "task.max-worker-threads:10")
4

1 回答 1

-1

Trino(以前的 PrestoSQL)JDBC 驱动程序支持sessionProperties属性。
https://trino.io/docs/current/installation/jdbc.html?highlight=sessionproperties#parameter-reference

此外,这是一篇关于品牌重塑的博客文章。
https://trino.io/blog/2020/12/27/announcing-trino.html

于 2022-01-22T00:54:24.397 回答