Обработка> 5000 строк в Lookup @ Azure Data Factory - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть операция копирования, которая копирует таблицу из MySQL в хранилище таблиц Azure.Это прекрасно работает.Но когда я выполняю поиск в таблице Azure, я получаю сообщение об ошибке.(Слишком много данных)

Это сделано так, как указано в документации: операция поиска имеет максимум 5000 строк и максимальный размер 2 МБ.

Также упоминается обходной путь: Разработать двухуровневый конвейер, в котором внешний конвейер выполняет итерацию по внутреннему конвейеру, который извлекает данные, которые не превышают максимальные строки или размер.

Как я могу это сделать?Есть ли способ определить смещение (например, читать только 1000 строк)

azure data factory

1 Ответ

0 голосов
/ 25 апреля 2019

Вам действительно нужно 5000 итераций вашего foreach? Какой процесс вы выполняете в foreach, нет ли более эффективного способа сделать это?

В противном случае, возможно, будет возможно следующее решение.

Создайте новый конвейер с 2 целочисленными переменными: итерациями и счетом с 0 по умолчанию.

Сначала определите необходимое количество итераций. Выполните поиск, чтобы определить общее количество наборов данных. В вашем запросе разделите это на 5000, добавьте один и округлите его вверх. Установите значение переменной итераций в это значение, используя действие переменной set.

Затем добавьте цикл while с выражением, похожим на @less (переменные ('count'), переменные ('iterations')). в этом цикле while вызовите текущий конвейер и передайте переменную count в качестве параметра. После выполнения действия конвейера установите для переменной count значение + 1.

В вашем текущем конвейере вы можете использовать предложение limit / offset в сочетании с переданным параметром в запросе MySQL, чтобы получить первые 0-5000 результатов для вашей первой итерации, 5000-10000 для вашей второй итерации и т. Д.

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

...