2016-04-16 5 views
1

Я пытаюсь использовать MLib Spark на огромном наборе данных, который мы в настоящее время сохраняем в базе данных временных рядов. Скажем, если у нас есть данные A, B, C, D и E в нашей базе данных временных рядов, я бы захотел загрузить A, B, C и сначала сделать некоторое преобразование, а затем передать преобразованные данные в Spark MLib.Apache Spark RDD Workflow

У меня есть пара вопросов в этом отношении. Есть ли стандартный рабочий процесс, который я должен рассмотреть? Я имею в виду, что загрузка, преобразование данных по-прежнему представляется мне вопросом. Это не что-то особенное для Spark. Я хотел бы знать, есть ли какая-либо польза от использования фреймворков, таких как Apache Camel для выполнения ETL, а затем передать результаты Spark?

Любые предложения?

ответ

0

Загрузка и преобразование данных, конечно же, не является чем-то конкретным для искры, но это то, к чему он очень хорош. Вы получаете множество приятных функций бесплатно, таких как отказоустойчивость, лень, быстрая пакетная обработка и последовательная DSL для всего.

Вам нужно специально кэшировать на этапах?

Хотите объединить данные из SQL, S3, Kafka и Twitter, не поддерживая 20 разных сценариев ETL?

Spark может сделать все это.

Есть также некоторые ограничения; Spark должен иметь возможность построить граф линий из набора данных и его определенных преобразований, а также любые ops, которые не являются идемпотентными (как HTTP-запросы), вроде этого.

Чрезвычайно общее резюме, не зная больше:

  1. Если вы «собственные» все источники данных (то есть они находятся в БД или что-то), объединить все ваши ETL и mllib программ. Тогда вам не нужно играть в горячий картофель с концертами и концертами.

  2. Если вам нужно полагаться на некоторые источники внешних данных, напишите некоторый код, чтобы захватить его и сделать его собственностью.

Смежные вопросы