Удаление фильтров в СУБД с помощью Java SparkJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Удаление фильтров в СУБД с помощью Java Spark

Сообщение Anonymous »

Я работал инженером данных и столкнулся с этой проблемой.

Я столкнулся со случаем использования, когда у меня есть представление (назовем его inputView), которое создается путем чтения данных из какого-то источника.

Теперь где-то позже в конвейере мне нужно снова прочитать данные из СУБД, создать представление (транзакции).

Затем я запускаю SQL-запрос Spark, чтобы объединить представление транзакций с входным представлением на основе некоторого столбца.
Проблема:

Проблема здесь в том, что должны загружаться только те данные, которые требуются от транзакций, но считываются все данные.
Предлагаемое решение (не уверен, что это безопасно)

Чтобы решить эту проблему, мы планируем создать временную таблицу в базе данных и сохранить inputView в RDBMS, затем выполнить соединение на уровне базы данных и получить данные.

Но при таком подходе проблема, похоже, заключается в том, что

1. Временные данные доступны только для каждого сеанса. Исполнители Spark будут иметь отдельный сеанс при вставке данных inputView в базу данных. Итак, как они собираются читать данные после присоединения, поскольку API искровой записи создаст данные записи сеанса, а затем закроет сеанс. Данные исчезнут еще до выполнения запроса на соединение.

2. Если я пишу каждую запись одну за другой из драйвера, используя JDBCprepreStatements. Затем для выполнения соединения и чтения данных мне нужно использовать одно и то же соединение для чтения данных, я не могу использовать API искрового чтения для их чтения. Поэтому я читаю данные только с помощью JDBC, что в конечном итоге загрузит все данные в драйвер, что может вызвать OOM.

3. Предположим, что работает несколько конвейеров и несколько конвейеров пытаются вставить свои данные inputView в некоторую временную таблицу. База данных будет получать большую нагрузку. Не произойдет ли сбой?
Любые предложения/решения приветствуются.
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/798 ... java-spark
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»