Как постоянно переносить данные из локальной базы данных SQL в базу данных SQL Azure - PullRequest
0 голосов
/ 15 мая 2018

В рамках процесса Машинное обучение Azure мне нужно continually перенести данные из локальной базы данных SQL в базу данных Azure SQL, используя Data Management Gateway.

В этой официальной статье Azure описано, как: Переместить данные с локального сервера SQL на SQL Azure с помощью фабрики данных Azure . Но детали меня немного смущают. Если кто-то вкратце опишет процесс, как бы вы это сделали. Какие 2-3 main шагов нужно выполнить на on-premises и 2-3 шага на Azure Cloud? Никаких подробностей не требуется. Примечание : решение должно включать использование Data Management Gateway

1 Ответ

0 голосов
/ 15 мая 2018

На основе документации Azure вы можете использовать «кусочки». Вы можете выполнить «дельта-выборку», используя столбец отметки времени, как указано в статье this , или используя последовательный столбец целых чисел. Чтобы избежать проблем, связанных со строками, не включенными в слайс, поскольку локальный сервер имеет системную дату немного позади системной даты Azure, лучше использовать последовательное целое число. Ниже набора входных данных показано, как определить срезы:

{
  "name": "AzureBlobInput",
  "properties": {
    "type": "AzureBlob",
    "linkedServiceName": "StorageLinkedService",
    "typeProperties": {
      "folderPath": "mycontainer/myfolder/{Year}/{Month}/{Day}/",
      "partitionedBy": [
        { "name": "Year", "value": {"type": "DateTime","date": "SliceStart","format": "yyyy"}},
        { "name": "Month","value": {"type": "DateTime","date": "SliceStart","format": "MM"}},
        { "name": "Day","value": {"type": "DateTime","date": "SliceStart","format": "dd"}}
      ],
      "format": {
        "type": "TextFormat"
      }
    },
    "external": true,
    "availability": {
      "frequency": "Hour",
      "interval": 1
    }
  }
}

Вы можете создать мероприятие и использовать раздел доступности, чтобы указать расписание для занятия. Вы можете указать «частоту» (минуты, часы, сутки и т. Д.) И «интервал».

            "scheduler": {
                "frequency": "Hour",
                "interval": 1
            }

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

enter image description here

На диаграмме показаны часовые срезы данных для входного и выходного набора данных. Диаграмма показывает три входных среза, которые готовы к обработке. Выполняется действие 10-11 часов утра, с выходным срезом 10-11 часов утра.

Вы можете получить доступ к временному интервалу, связанному с текущим срезом в наборе данных JSON, используя переменные: SliceStart и SliceEnd. Вы можете использовать эти переменные в JSON своей деятельности, чтобы выбрать данные из входного набора данных, представляющего данные временного ряда (например: с 8:00 до 9:00).

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

...