Presto 不从 Hive 元数据库返回行



我是 AWS EMR 的新手。我已经启动并运行了 Hive,并且一直在 S3 中查询外部表,没有问题。我现在已经将 Presto 安装到 EMR 集群上,这似乎已经启动并运行并且可以读取 Hive 元数据库。但是,我运行的每个查询都会返回列标题,但实际上不会返回任何列(下面的查询(。

presto:default> select count(*) from patrequests;
 _col0
-------
     0
(1 row)
Query 20171113_163811_00033_vdw6c, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [0 rows, 0B] [0 rows/s, 0B/s]

Hive 中的相同查询运行良好:

hive> select * from patrequests limit 10;
OK
2017-10-01T00:00:18.6772628Z    779     *****  *****  *****      *****      2017    10
Time taken: 2.876 seconds, Fetched: 10 row(s)

数据以 JSON 格式存储在 S3 存储桶中 - 无嵌套。

任何帮助非常感谢。

谢谢

问题似乎出在 JSON Serde org.openx.data.jsonserde.JsonSerDe 对 Presto 不可用。从 S3 存储桶使用以下方法引导实例似乎可以解决问题:

#!/bin/bash
wget -P /usr/lib/presto/plugin/hive-hadoop2/  'https://s3-eu-west-1.amazonaws.com/########/json-serde-1.3.9-SNAPSHOT-jar-with-dependencies.jar';
wget -P /usr/lib/hive-hcatalog/share/hcatalog/ 'https://s3-eu-west-1.amazonaws.com/########/json-serde-1.3.9-SNAPSHOT-jar-with-dependencies.jar';

相关内容

  • 没有找到相关文章

最新更新