#google-cloud-datastore
#google-cloud-datastore
Вопрос:
У меня есть приложение java, spring-data, которое использует хранилище данных. Мне нужно подмножество этих данных для запуска аналитики с использованием приложения python. То, что мне нужно в приложении python, — это, по сути, соединение (да, реляционное не выходит из меня) между двумя «видами», запрашиваемыми ключом одного вида. Клиент NDB требует создания тех же моделей сущностей в python, чтобы иметь возможность запрашивать данные, что является перетаскиванием. Почему я не могу просто запустить консольную версию GQL (выбрать * из kind
) с помощью python. Возможно, я что-то упускаю, поскольку такого рода запросы доступны почти во всех реляционных и nosql DBS.
Ответ №1:
Ваши наблюдения верны: запрос GQL не может выполнить SQL-подобный запрос «join». Это задокументировано на странице документации GQL Reference for Python NDB / DB.
Если вы хотите отправить запрос функции, чтобы запросить ее реализацию, вы можете просто открыть для нее проблему в общедоступном трекере проблем.
Комментарии:
1. Спасибо @George. Допустим, я могу заменить join чем-то другим, например, подзапросом, даже тогда есть ли способ просто вызвать обычный GQL (select * from
kind
) без предоставления определения сущности в python как класса?2. В API хранилища данных Python вид объекта определяется его классом модели, который вы определяете в своем приложении как подкласс библиотеки моделирования данных класса db.Model. Это задокументировано в подразделе » Виды и идентификаторы «. В противном случае неясно, как вы планируете использовать результаты из оператора select в своем коде без соответствующего класса для обработки свойств.