Есть ли возможность создать внешнюю таблицу в Azure SQL Хранилище данных, указывающую только на несколько папок из указанного местоположения? - PullRequest
0 голосов
/ 09 апреля 2020

Я пытался создать внешнюю таблицу в Azure SQL Хранилище данных, рассматривая только некоторые папки вместо всех из местоположения azure Datalake. Но я не могу этого сделать. Запрос помощи в этом отношении.

Ниже приведен пример для этого сценария.

В Azure Datalake местоположение состоит из папок с данными, разделенными на несколько папок на основе критерия года. Папки существуют с 1996 по 2020 год. Мой сценарий заключается в создании внешней таблицы только для 2018 года и выше.

Пожалуйста, предложите наилучший подход к выполнению sh this.

Спасибо !!!

1 Ответ

0 голосов
/ 10 апреля 2020

У вас есть два основных варианта:

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

Например, вы можете сделать что-то концептуально, например:

CREATE EXTERNAL TABLE FILES2018...
CREATE EXTERNAL TABLE FILES2019...
CREATE EXTERNAL TABLE FILES2020...

SELECT * FROM FILES2018
UNION ALL
SELECT * FROM FILES2019
UNION ALL
SELECT * FROM FILES2020

2. Используйте новую команду COPY

В этом примере показано, как сделать несколько папок.

COPY INTO t1
FROM 
    'https://myaccount.blob.core.windows.net/myblobcontainer/folder2018', 
    'https://myaccount.blob.core.windows.net/myblobcontainer/folder2019', 
    'https://myaccount.blob.core.windows.net/myblobcontainer/folder2020'
WITH...
...