Я построил структуру на базе данных cassandra для хранения данных временных рядов данных ОС, таких как службы, процесс и другая информация. Чтобы понять, как работает Cassandra о хранении данных JSON и извлечении данных по запросам CQL с условием, я предпочел упростить модель. Потому что в общей модели DB я буду иметь TYPE более сложной, чем report_object как HashMap из массива HashMap, например: ТипNETSTAT--> Object[n] --> {host:192.168.0.23, protocol: TCP ,LocalAddress : 0.0.0.0}
так Тип NETSTAT будет иметь список HashMaps, которые будут содержать поля ключа - > значение. Для Simplify Я выбрал, чтобы показать следующую схему:Запрос искры на объекте JSON, хранящемся на Cassandra DB
CREATE TYPE report_object (RTIME varchar, RMINORVER int, RUSER varchar, RLANG varchar, RSCRIPT varchar, RMAJORVER int, RHOST varchar, RPATH varchar);
CREATE TABLE test (
REPORTUUID uuid PRIMARY KEY,
report frozen<report_object>);
Внутри таблицы I injectioned данные в формате JSON с последующим запросом внутри класса Java:
INSERT INTO test JSON '{"REPORTUUID": "9fb21fb9-333e-4017-ab77-0fa6ee1e20e3" ,"REPORT":{"RTIME":"6/MAR/2016 6:0:0 PM","RMINORVER":0,"RUSER":"Administrator","RLANG":"vbs","RSCRIPT":"Main","RMAJORVER":5,"RHOST":"WIN-SAPV9MUEMNS","RPATH":"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\IXP000.TMP"}}';
Я inectioned других данных с запросом выше , Вопросы для разъяснения моих концепций: - Я хотел бы делать запросы с условиями, которые проверяются внутри определенного ТИПА, возможно ли это с помощью CQL или необходимо использовать искру SQL?
- Является ли дизайн DB-модели подходящей для этой цели (потому что я перешел от РСУБД к DB NoSQL)?
Нужен ли язык Scala для запроса данных? Возможно ли это с языком Java? – Stefano
API DataFrame должен работать из коробки при замене '===' равными. 'CassandraRDD' потребует пользовательскую функцию, но я не вижу причин, почему она может не работать. – zero323
Не могли бы предоставить мне учебник или руководство для проведения теста для извлечения данных по запросу из моей структуры в Cassandra на языке Java? благодаря – Stefano