问题标签 [starburst]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3971 浏览

database-connection - 如何使用pyhive在python中运行presto查询?

我正在尝试使用 pyhive 库在 python 中运行 presto 查询,但 max retries 错误即将到来。我在本地(笔记本电脑)的 jupyter notebook 中运行它。我认为它无法连接到 presto 节点。我正在使用 Azure hdinsight 集群并在头节点上安装了 presto 应用程序(使用星爆分布)。我使用了集群用户名和密码,也尝试了头节点 ssh 用户和密码,但没有任何效果。下面是我的代码:

我得到的错误是:

ConnectionError: HTTPConnectionPool(host='sm-hdinsight01-ssh.azurehdinsight.net', port=8085): 最大重试次数超过 url: /v1/statement (由 NewConnectionError(': 无法建立新连接: [Errno 110) ] 连接超时',))

但是当我在头节点的终端运行它时,它可以工作:

我想我在这里遗漏了一些关键的东西。请帮忙。

0 投票
1 回答
201 浏览

azure - 在为 Starburst Presto 创建 Azure HDInsight 群集时,我可以创建 Spark 群集吗?

在为大数据创建基础架构时,我想在 Presto 安装中使用 Azure HDInsight。Azure HDInsight 带有不同的风格,如 hadoop、spark 等。在文档中建议使用 hadoop 集群,但我想使用 spark 之一。

是否可以在 Starburst 的 Presto 发行版中使用 spark 集群?

0 投票
1 回答
1700 浏览

java - Presto JDBC 大查询极慢

问题

  1. 使用 JDBC 驱动程序从 Presto 查询中迭代一个大ResultSet数据非常耗时。每个批处理调用似乎几乎都需要 60 秒,这很可疑(可能是由于某些超时引起的?)。
  2. 出于某种原因,最初的 executeQuery 方法几乎需要 45 秒,这是可疑的。

询问

我正在使用 Java JDBC Presto Driver 对 Presto 执行一个简单的查询,它看起来基本上像:

stringA并且stringB很小 - 每个大约 10 个字符。
使用 teradata 驱动程序在 DbVisualizer 中运行时,我的查询在 10 秒内完成。
但是,当我使用 0.230 presto-jdbc 驱动程序从 Spring Java 应用程序运行相同的查询时,它似乎会分批(大约 75,000 个)返回结果,并且每批需要一分钟才能返回。

我已经阅读了一些有关 PrestotargetResultSize查询参数的信息,但我无法使用 JDBC 驱动程序/连接来设置它。我读过默认情况下 presto 一次只会返回 1MB 的数据?不确定这是否是我上述问题 #1 的原因 - 弄清楚如何配置它会很棒。

Java 代码

输出

版本信息

  • 爪哇 11
  • com.facebook.presto presto-jdbc 0.230
  • Spring Boot 2.1.6.RELEASE
  • Presto 版本:302-e.3(星爆版)
0 投票
0 回答
1024 浏览

hive - Presto - Hive 连接器的 Ranger 问题

我们有一个 Presto(版本 - 323-E.8)连接器,其中启用了 Ranger 的 CDP Hive3 集群,我可以在现有 Hive ORC 格式化表上运行选择查询,但无法在 Hive 元存储上创建或删除任何视图。它引发权限问题错误,我的管理员已从 Ranger & AD 向用户授予所有权限,并且我能够在服务器上使用同一用户从直线执行所有操作。蜂巢属性:

错误:io.prestosql.spi.PrestoException:用户不允许操作类型 CREATE_VIEW:io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1036) 处 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.java:1036) .metastore.thrift.BridgingHiveMetastore.createTable(BridgingHiveMetastore.java:184) 在 io.prestosql.plugin.hive.metastore.cache.CachingHiveMetastore.createTable(CachingHiveMetastore.java:524) 在 io.prestosql.plugin.hive.metastore.cache .CachingHiveMetastore.createTable(CachingHiveMetastore.java:524) at io.prestosql.plugin.hive.metastore.SemiTransactionalHiveMetastore$CreateTableOperation.run(SemiTransactionalHiveMetastore.java:2692) at io.prestosql.plugin.hive.metastore.SemiTransactionalHiveMetastore$Committer.executeAddTableOperations (SemiTransactionalHiveMetastore.java:1668) 在 io.prestosql。plugin.hive.metastore.SemiTransactionalHiveMetastore$Committer.access$1000(SemiTransactionalHiveMetastore.java:1282) at io.prestosql.plugin.hive.metastore.SemiTransactionalHiveMetastore.commitShared(SemiTransactionalHiveMetastore.java:1225) at io.prestosql.plugin.hive.metastore .SemiTransactionalHiveMetastore.commit(SemiTransactionalHiveMetastore.java:991) 在 io.prestosql.plugin.hive.HiveMetadata.commit(HiveMetadata.java:2408) 在 io.prestosql.plugin.hive.HiveConnector.commit(HiveConnector.java:202) 在io.prestosql.transaction.InMemoryTransactionManager$TransactionMetadata$ConnectorTransactionMetadata.commit(InMemoryTransactionManager.java:595) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 com.google.common.util.concurrent。 TrustedListenableFutureTask$TrustedFutureInterruptibleTask。在 com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78) 的 com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57) 运行Interruptibly(TrustedListenableFutureTask.java:125)在 io.airlift.concurrent.BoundedExecutor.drainQueue(BoundedExecutor.java:78) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java :624) 在 java.lang.Thread.run(Thread.java:748) 引起:org.apache.hadoop.hive.metastore.api.MetaException:操作类型 CREATE_VIEW 不允许用户:org.apache.hadoop 中的 XXXXX .hive.metastore.api.ThriftHiveMetastore$create_table_result$create_table_resultStandardScheme.read(ThriftHiveMetastore.java:52658) 在 org.apache.hadoop.hive。metastore.api.ThriftHiveMetastore$create_table_result$create_table_resultStandardScheme.read(ThriftHiveMetastore.java:52626) 在 org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_result.read(ThriftHiveMetastore.java:52552) 在 org.apache.thrift。 TServiceClient.receiveBase(TServiceClient.java:86) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_create_table(ThriftHiveMetastore.java:1490) at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$ Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 的 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 的 Client.create_table(ThriftHiveMetastore.java:1477) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) 在 com.sun.proxy.$ io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51( ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java :130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个prestosql.plugin.base.util.LoggingInvocationHandler.handleInvocation(LoggingInvocationHandler.java:60) 在 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) 在 com.sun.proxy.$Proxy370.create_table(Unknown来源)在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 的 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) ) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) .prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个prestosql.plugin.base.util.LoggingInvocationHandler.handleInvocation(LoggingInvocationHandler.java:60) 在 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) 在 com.sun.proxy.$Proxy370.create_table(Unknown来源)在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 的 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) ) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) .prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个LoggingInvocationHandler.handleInvocation(LoggingInvocationHandler.java:60) 在 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) 在 com.sun.proxy.$Proxy370.create_table(Unknown Source) 在 io.prestosql.plugin .hive.metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin。 hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore .thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个LoggingInvocationHandler.handleInvocation(LoggingInvocationHandler.java:60) 在 com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) 在 com.sun.proxy.$Proxy370.create_table(Unknown Source) 在 io.prestosql.plugin .hive.metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin。 hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore .thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个handleInvocation(LoggingInvocationHandler.java:60) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) at com.sun.proxy.$Proxy370.create_table(Unknown Source) at io.prestosql.plugin.hive .metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive。 metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift .ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个handleInvocation(LoggingInvocationHandler.java:60) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:86) at com.sun.proxy.$Proxy370.create_table(Unknown Source) at io.prestosql.plugin.hive .metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive。 metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift .ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个在 com.sun.proxy.$Proxy370.create_table(Unknown Source) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql 调用(AbstractInvocationHandler.java:86) .plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io .prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个在 com.sun.proxy.$Proxy370.create_table(Unknown Source) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastoreClient.createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql 调用(AbstractInvocationHandler.java:86) .plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda$wrap$0(ThriftMetastoreApiStats.java:42) 在 io .prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda $wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore. java:1022) ... 19 更多createTable(ThriftHiveMetastoreClient.java:161) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.lambda$createTable$51(ThriftHiveMetastore.java:1024) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreApiStats.lambda $wrap$0(ThriftMetastoreApiStats.java:42) 在 io.prestosql.plugin.hive.util.RetryDriver.run(RetryDriver.java:130) 在 io.prestosql.plugin.hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore. java:1022) ... 19 更多hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个hive.metastore.thrift.ThriftHiveMetastore.createTable(ThriftHiveMetastore.java:1022) ... 还有 19 个

0 投票
3 回答
274 浏览

kubernetes - 如何在 kuebernetes 中跨 presto 集群分发文件

我是 Kubernetes 新手。我们在 Kubernetes 中部署了一个 presto (starburst) 集群,我们正在尝试为 presto 集群实施 SSL 证书。

基于以下 URL,我创建了一个密钥库(在我的本地计算机中)并且必须将此密钥库路径填充到“http-server.https.keystore.path”

https://docs.starburstdata.com/latest/security/internal-communication.html

但是,该文件必须分布在整个集群中。如果我输入本地路径,那么 Kubernetes 会抛出“找不到文件”错误。您能否让我知道如何在 kubernetes 的 presto 集群中分发它。

我已尝试将密钥库创建为秘密并将其安装到卷上。

还尝试创建配置并将其安装为卷。但仍然得到'引起:java.io.FileNotFoundException:/jks/keystore.jks(没有这样的文件或目录)'。

如果遗漏任何东西,请告诉我。

谢谢

0 投票
1 回答
334 浏览

elasticsearch - 如何在presto elasticsearch中按子句pushdpown order

我在 starburst-presto 中运行 SQL 查询。它使用相关连接器连接到 elasticsearch。

SQL 有一个“order by”子句。此子句不会下推到 elasticsearch。基本上,我想根据特定字段对elasticsearch中的数据进行排序并返回结果。使用 presto 的“order by”查询需要花费大量时间。是否有可能以某种方式获得最佳性能?

SQL:select e.employee_id from elasticsearch.es."employee:id:""2390571"" && (doj_timestamp:(>=15965454 && <=15972366)) sort=employee_id:desc" e offset 0 limit 5;

上面的查询返回随机结果。

有人可以在这里帮忙吗?

0 投票
1 回答
440 浏览

hive - presto + Hive 安全配置

当所有 presto 工作服务器都安装在数据节点机器上时,我们有 presto 集群和 Hadoop 集群

以下是在目录文件夹下 presto 工作人员上配置的 Hive 连接器配置文件示例

我们想知道当每个 presto 工作人员的访问权限不安全时有什么hive metastore风险

据我们了解,presto worker/s 使用 thrift 协议和端口 9083 连接到 hive 元存储

但不清楚 presto-worker 如何对 hive 元存储执行身份验证?

我们将很高兴获得更多详细信息 - presto 工作人员如何在没有 hive 安全和 hive 安全的情况下访问 hive 元存储

参考 - https://docs.starburstdata.com/302-e/connector/hive-security.html

0 投票
0 回答
429 浏览

amazon-s3 - 连接到 s3 存储桶时出现 Presto 错误 400

概述

我在 Kubernetes 上部署了一个 Presto 集群,并尝试通过兼容的 API 将其连接到 S3 存储桶。

如何复制

我使用Presto Operator(由 Starburst 提供)并使用以下属性配置我的 Presto 资源:

我添加了带有 AWS_ACCESS_KEY_ID: **** 和 AWS_SECRET_ACCESS_KEY: **** 等数据的 s3-secret

然后,我使用presto-cli使用以下命令创建 Schema:

错误

它会在 Hive 元存储中引发错误,例如:

问题识别

我在此链接上看到“尝试使用仅支持“V4”签名 API 的任何 S3 服务时会发生这种情况——但客户端配置为使用默认的 S3 服务端点”

解决方案是:“需要通过 fs.s3a.endpoint 属性为 S3A 客户端提供要使用的端点”

但是属性fs.s3a.endpoint不适用于 Presto 的 Hive 配置。

有人已经有这个问题了吗?

有用的细节

  • Kubernetes 版本:1.18
  • Presto Operator 镜像:starburstdata/presto-operator:341-e-k8s-0.35

- - 编辑 - -

完整的堆栈跟踪

0 投票
1 回答
692 浏览

snowflake-cloud-data-platform - Presto 服务器可以直接连接到 Snowflake 还是只能通过 starburst 连接?

我正在尝试为 Presto 找到雪花连接器,但在 Presto 文档中找不到任何连接器。所有搜索都仅通过星爆显示连接。

0 投票
0 回答
88 浏览

presto - PrestoSQL/Trino CLI 从一个文件执行多条语句时,如何打印当前正在运行的 SQL 语句?

当我使用带有--file选项的 trino 或 presto CLI 时,我只能在标准输出上看到查询的结果。有没有办法在将结果打印到标准输出之前打印 SQL 语句?