Чтение большого графика с Титана (на HBase) в Spark

Я исследую Titan (на HBase) в качестве кандидата для большой базы данных распределенных графов. Нам требуется как доступ OLTP (быстрые запросы с несколькими скачками по графику), так и доступ OLAP (загрузка всей или хотя бы большой части графика в Spark для аналитики).

Из того, что я понимаю, я могу использовать сервер Gremlin для обработки запросов в стиле OLTP, где мой набор результатов будет небольшим. Поскольку мои запросы будут генерироваться пользовательским интерфейсом, я могу использовать API для взаимодействия с сервером Gremlin. Все идет нормально.

Проблема касается варианта использования OLAP. Поскольку данные в HBase будут совмещены с исполнителями Spark, было бы эффективно считывать данные в Spark, используяHDFSInputFormat, Было бы неэффективно (фактически невозможно, учитывая размер проецируемого графа) выполнить запрос Gremlin из драйвера и затем распространить данные обратно исполнителям.

Лучшее руководство, которое я нашел, - это незавершенное обсуждение репозитория Titan GitHub (https://github.com/thinkaurelius/titan/issues/1045) который предполагает, что (по крайней мере, для серверной части Кассандры) стандартTitanCassandraInputFormat должен работа для чтения таблиц Титана. О бэкэндах HBase ничего не заявлено.

Тем не менее, после прочтения о базовой модели данных Titan (http://s3.thinkaurelius.com/docs/titan/current/data-model.html) представляется, что части «сырых» данных графа сериализуются без объяснения того, как восстановить граф свойств из содержимого.

И так, у меня есть два вопроса:

1) Верно ли все, что я изложил выше, или я что-то упустил / неправильно понял?

2) Кому-нибудь удалось прочитать «сырой» граф Титана из HBase и восстановить его в Spark (либо в GraphX, либо в виде DataFrames, RDD и т. Д.)? Если да, можете ли вы дать мне какие-либо указатели?

Ответы на вопрос(1)

Ваш ответ на вопрос