Добавить больше таблиц в существующий набор данных - PullRequest
0 голосов
/ 28 февраля 2020

Как я могу добавить больше таблиц в существующий набор данных? Я создал фабрику данных для копирования данных таблицы для 3 таблиц (Azure SQL База данных).

Теперь я хочу добавить еще две таблицы к этому. Как мне это сделать?

Ответы [ 4 ]

1 голос
/ 28 февраля 2020

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

Катрин Вильгельмсен действительно хорошо объясняет параметры в своем блоге: https://www.cathrinewilhelmsen.net/2019/12/20/parameters-azure-data-factory/

Надеюсь, это помогло!

0 голосов
/ 02 марта 2020

Когда вы активно выполняете копирование данных, вы можете редактировать конвейер, добавляя таблицы в набор данных в качестве параметра конвейера.

Например, я копирую две таблицы (test и test4) между две SQL базы данных с COPY DATA.

Когда конвейер успешно выполняется, отредактируйте конвейер, и мы обнаружим, что все имя таблицы / отображение схемы заданы как параметр: enter image description here

[
{"source":{"table":"test"},
"destination":{"table":"test"},
"copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
{"name":"id","type":"Int32"},"sink":{"name":"id","type":"Double"}},{"source": 
{"name":"tt","type":"String"},"sink":{"name":"name","type":"String"}}]}}},

{"source":{"table":"test4"},
"destination":{"table":"test4"},
"copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
{"name":"id","type":"Int32"},"sink":{"name":"id","type":"Int32"}},{"source": 
{"name":"tt","type":"DateTime"},"sink":{"name":"tt","type":"DateTime"}}]}}}

]

Если Вы хотите добавить больше таблиц, просто отредактируйте параметр json и добавьте источник json, как показано ниже:

{"source":{"table":"test4"},
        "destination":{"table":"test4"},
        "copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
        {"name":"id","type":"Int32"},"sink":{"name":"id","type":"Int32"}},{"source": 
        {"name":"tt","type":"DateTime"},"sink":{"name":"tt","type":"DateTime"}}]}}}

Таким образом, новый параметр должен быть:

  [
    {"source":{"table":"test"},
    "destination":{"table":"test"},
    "copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
    {"name":"id","type":"Int32"},"sink":{"name":"id","type":"Double"}},{"source": 
    {"name":"tt","type":"String"},"sink":{"name":"name","type":"String"}}]}}},

    {"source":{"table":"test4"},
    "destination":{"table":"test4"},
    "copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
    {"name":"id","type":"Int32"},"sink":{"name":"id","type":"Int32"}},{"source": 
    {"name":"tt","type":"DateTime"},"sink":{"name":"tt","type":"DateTime"}}]}}}

    {"source":{"table":"test6"},
    "destination":{"table":"test6"},
    "copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
    {"name":"id","type":"Int32"},"sink":{"name":"id","type":"Int32"}},{"source": 
    {"name":"tt","type":"DateTime"},"sink":{"name":"tt","type":"DateTime"}}]}}}

    {"source":{"table":"test7"},
    "destination":{"table":"test7"},
    "copyActivity":{"translator":{"type":"TabularTranslator","mappings":[{"source": 
    {"name":"id","type":"Int32"},"sink":{"name":"id","type":"Int32"}},{"source": 
    {"name":"tt","type":"DateTime"},"sink":{"name":"tt","type":"DateTime"}}]}}}

    ```

]

Надеюсь, это помогает.

0 голосов
/ 28 февраля 2020

Вы можете иметь только 1 таблицу для 1 набора данных. Следовательно, вам нужно создать больше наборов данных для большего количества таблиц.

0 голосов
/ 28 февраля 2020

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

...