Примерно 10 лет назад все наши рабочие нагрузки ETL разрабатывались на IBM Datastage и Oracle в качестве базы данных, но теперь предприятие ищет варианты на платформах с открытым исходным кодом, которые предлагают распределенные параллельные вычисления , чтобы выполнять те же задачи за меньшее время, а также сэкономить на технологиях. Я никогда не был специалистом по Java все это время, однако у меня есть знания Python, а также я прошел формальное обучение Apache Spark, и я хочу использовать эти знания при переводе наших существующих проектов Datastage в Spark. Ниже приведены некоторые из общих операций, которые мы в настоящее время выполняем для всех наших заданий Datastage.
- читать данные из плоского файла (txt / csv)
- выполнять поиск (нормальный / диапазон / разреженный) в других небольших таблицах данных
- выполнить соединение с другими БОЛЬШИМИ таблицами
- записывать данные в таблицу
- вызвать Siebel Enterprise Integration Manager для загрузки данных из одной таблицы в таблицу Siebel
- извлекать данные из нескольких таблиц и создавать ОДИН плоский файл (txt / csv)
- ftp файл на целевой сервер
Можно ли все эти операции выполнить из Spark? По крайней мере, я пытаюсь воссоздать шаги №1, №2, №3, №4 и №6 в Spark, что (насколько мне известно о Spark) достижимо.
Пожалуйста, помогите / перенаправьте меня на ресурсы, которые помогут в этом отношении.