2

我正在尝试使用 Dbeaver 并通过 Spark Hive 处理数据。由于以下命令有效,因此连接稳定:

select * from database.table limit 100

但是,一旦我与简单的获取查询不同,我就会得到一个异常。例如运行查询

select count(*) from database.table limit 100

导致异常:

SQL 错误 [2] [08S01]:org.apache.hive.service.cli.HiveSQLException:处理语句时出错:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.tez.TezTask 返回代码 2 . Vertex failed, vertexName=Map 1, vertexId=vertex_1526294345914_23590_12_00, diagnostics=[Vertex vertex_1526294345914_23590_12_00 [Map 1] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: postings initializer failed, vertex=vertex_1526294345914_23590_12_00 [Map 1], com.amazon.ws. emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception:错误请求(服务:Amazon S3;状态代码:400;错误代码:400 错误请求;请求 ID:95BFFF20D13AECDA),S3 扩展请求 ID : fSbzZDf/Xi0b+CL99c5DKi8GYrJ7TQXj5/WWGCiCpGa6JU5SGeoxA4lunoxPCNBJ2MPA3Hxh14M=

有人可以在这里帮助我吗?

4

1 回答 1

0

400/Bad Request 是 S3/AWS 通用“不喜欢您的有效负载/请求/身份验证”响应。ASF S3A docs中有一些详细信息,但那是针对 ASF 连接器的,而不是针对亚马逊连接器的(您的连接器来自堆栈跟踪)。v4 身份验证存储桶的错误端点通常是问题 #1,之后......谁知道呢?

  1. 先尝试做一些基本hadoop fs -ls s3://bucket/path操作。
  2. 您可以尝试针对它运行cloudstore 诊断程序;这是我第一次调用调试客户端。虽然它没有明确地知道 EMR-s3-connector,所以它不会详细查看凭据
于 2018-06-07T09:48:31.437 回答