Сохранение данных базы данных JDBC в виде общего состояния Spark - PullRequest
0 голосов
/ 25 марта 2019

У меня есть таблица MSSQL в качестве источника данных, и я хотел бы сохранить какое-то смещение обработки в виде метки времени (это один из столбцов таблицы).Так что было бы возможно обработать данные из последнего смещения.Я хотел бы сохранить как некое общее состояние между сеансами Spark.Я исследовал общее состояние в сеансе Spark , однако я не нашел способа сохранить это смещение в общем состоянии.Так возможно ли использовать существующие конструкции Spark для выполнения этой задачи?

1 Ответ

1 голос
/ 29 марта 2019

Насколько я знаю, в Spark нет официальной встроенной функции, поддерживающей передачу данных между сеансами.В качестве альтернативы я хотел бы рассмотреть следующие варианты / предложения:

  1. Сначала столбец смещения должен быть индексированным полем в MSSQL, чтобы можно было быстро запросить его.
  2. Если в вашем проекте уже установлена ​​и используется система в памяти (т.е. Redis, Apache Ignite), я бы сохранил смещение.
  3. Я бы не использовал систему очереди сообщенийтакие как Kafka, потому что, как только вы используете одно сообщение, вам нужно будет повторно отправить его, поэтому это не имеет смысла.
  4. В качестве решения я предпочел бы сохранить его в файловой системе или в Hive, даже если это добавит дополнительные издержки.так как у вас будет только одно значение в этой таблице.В случае файловой системы, конечно, производительность будет намного лучше.

Дайте мне знать, нужна ли дополнительная информация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...