2016-07-11 1 views
2

Любая деятельность, которую мы создаем в конвейере, должна иметь выходной набор данных, который, я считаю, является чисто синтаксическим правилом в случае, если активность имеет тип «HDInsightHive». Потому что в любом случае фактический выход будет определяться самим запросом HQL. Например, в нашем случае запрос HQL выбирает строки из определенной таблицы и вставляет строки в другую внешнюю таблицу. Так что в конечном итоге именно HQL определяет, куда будет идти выход. Имя таблицы назначения отображается в самом HQL (INSERT OVERWRITE tablename ..). Поэтому в этом случае выходной набор данных, определенный в рамках действия, кажется, действует как синтаксический клей, который должен быть там ради него. Это верно?Действительно ли выходной набор данных имеет значение для типа активности HDInsightHive?

ответ

2

Это правда, что вы можете определить, где данные будут поступать в запрос HQL, как и в USQL-запросе. Основная функция набора выходных данных, как я вижу, будет заключаться в том, что он позволяет вывести вывод в другое действие. Если вы не определили выходной набор данных или не определили его с папкой, не соответствующей тому, где сценарий HQL помещает вывод, вы не сможете использовать этот набор данных в качестве входных данных для другого действия. Если ВСЕ ваши конвейеры всегда заканчиваются вашей HQL-активностью, и вам никогда не нужно что-либо делать после этого момента, тогда я вижу, как будет выглядеть набор выходных данных.

HTH

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