Объединение справочных данных по заданиям Stream Analytics создает дубликаты

Я использую Stream Analytics для объединения потоковых данных (через IoT Hub) и справочных данных (через хранилище больших двоичных объектов). Файл BLOB базовых данных создается каждую минуту с последними данными и имеет формат "filename-{date} {time}.csv". Данные эталонного файла большого двоичного объекта используются в функции машинного обучения Azure в качестве параметров задания SA. Выходные данные задания потоковой аналитики (в Azure SQL или Power BI), по-видимому, генерируют несколько строк вместо одной для выходных данных функции машинного обучения Azure, по одной для значений параметров из предыдущих файлов BLOB-объектов. Насколько я понимаю, он должен использовать только самое последнее содержимое файла BLOB-объектов, но похоже, что он использует все файлы BLOB-объектов и генерирует несколько строк из вывода AML. Вот запрос, который я использую:

SELECT AMLFunction (Ref.Input1, Ref.Input2), * FROM IoTInput Stream LEFT JOIN RefBlobInput Ref ON Stream.DeviceId = Ref. [DeviceID]

Не могли бы вы посоветовать, нужно ли изменить запрос или путь к файлу, чтобы избежать дублирования записей? Спасибо

1 ответ

Чтобы использовать только последний файл, вам нужно сохранить файл в определенной структуре папок.

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

Поток всегда ищет эталонный файл из последней папки {date}/{time}. т.е. вам нужно хранить ваш файл как,

2018-01-25 / 07: 30 / filename.json (ГГГГ-ММ-ДД / ЧЧ-мм /filename.json)

ПРИМЕЧАНИЕ. Здесь ваша временная папка должна быть уникальной для каждой минуты. Папка даты должна быть уникальной для каждой даты. Всякий раз, когда вы создаете новый файл, создайте его в новой папке с отметкой времени и в папке с текущей датой.

Вы можете использовать любой формат даты и времени, поддерживаемый потоком ввода.

Другие вопросы по тегам