Невозможно получить записи с mongodb, используя Presto - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть каталог mongodb в каталоге etc / catalog с именем mongodb.properties. Когда я запускаю оболочку presto и выполняю команду: Показать таблицы;Я показываю коллекции mongodb, но когда я запускаю запрос на выборку, он выдает мне ошибки.

presto> select * from <catalog>.<schema>.<collection/table>;
Gives error :
java.sql.SQLException: Query failed (#20190429_125534_00001_qxggq): line 1:8: SELECT * not allowed in queries without FROM clause
at io.prestosql.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1839)
at io.prestosql.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1749)
at io.prestosql.jdbc.PrestoResultSet.<init>(PrestoResultSet.java:118)
at io.prestosql.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:251)
at io.prestosql.jdbc.PrestoStatement.execute(PrestoStatement.java:229)
at io.prestosql.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:78)
at spark_mongo_poc.SparkMongo.process_query(SparkMongo.java:32)
at spark_mongo_poc.SparkMongo.main(SparkMongo.java:76)

Presto> select name from <mongodb>.<schema>.<collection>;
Gives error :
java.sql.SQLException: Query failed (#20190429_125718_00002_qxggq): line 1:8: Column 'name' cannot be resolved
at io.prestosql.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1839)
at io.prestosql.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1749)
at io.prestosql.jdbc.PrestoResultSet.<init>(PrestoResultSet.java:118)
at io.prestosql.jdbc.PrestoStatement.internalExecute(PrestoStatement.java:251)
at io.prestosql.jdbc.PrestoStatement.execute(PrestoStatement.java:229)
at io.prestosql.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:78)
at spark_mongo_poc.SparkMongo.process_query(SparkMongo.java:32)
at spark_mongo_poc.SparkMongo.main(SparkMongo.java:76)

Мне нужны те же данные, которые мы получаем, когда делаем db.collection.find ({});который дает мне правильный результат в виде документов

Пожалуйста, помогите

1 Ответ

0 голосов
/ 30 апреля 2019
  • Я исправил вышеуказанную проблему, просто изменив имя коллекции mongodb
    на все строчные. Существует проблема с каталогом Presto Mongodb, который он не распознает заглавную букву в названии коллекции, и это было причина, по которой он не смог идентифицировать коллекцию. Таким образом, я изменил свой кейс для сбора на более низкий, и он начал работать. :)

...