Въведение
Azure расте всеки ден. Microsoft създаде Azure, която е услуга за изчисления в облак, пусната през 2010 г.
Според Microsoft 80% от компаниите от Fortune 500 използват Azure. Освен това 40% от приходите на Azure идват от стартиращи фирми и независими доставчици на софтуер. 33% от виртуалните машини Azure използват Linux. Microsoft очаква да спечели 20 милиарда долара през 2018 г.
Ето защо компаниите мигрират част от данните към Azure, а понякога и всички данни.
Azure Data Lake е специално хранилище за паралелно анализиране на големи данни в Azure. Оптимизиран е за анализи. Можете да съхранявате данни от социални мрежи, имейли, документи, информация от сензори, географска информация и други.
Ако искате само да съхранявате данни, Azure Blob Storage е достатъчно. Ако искате да анализирате данните, Data Lake е най-добрият вариант, защото е предназначен за отчети.
Data Lake Store обикновено се анализира с помощта на Cortana Analytics Suite, Power BI, SSIS е добре познат и популярен инструмент за мигриране на данни. В тази нова статия ще покажем как да използвате SSIS за мигриране на данни към Azure. Ще покажем също как да експортирате данни от .txt файл в Azure Data Lake Store към SQL Server на място.
Ако нямате опит в Azure, но имате опит с SSIS. Тази статия е за вас.
Ще изпълним следните стъпки, за да импортираме данните в Azure Data Lake:
- Инсталирайте пакета с функции SSIS за Azure
По подразбиране не можете да се свържете с Azure Data Lake Store. Необходимо е да инсталирате пакета с функции за Azure в проектите SSIS.
- Създайте Azure Data Lake Store (ADLS) в Azure Portal
Ако нямате Azure Data Lake Store, ще трябва да създадете нов. Ще създадем папка в този ADLS и ще импортираме данните от локална папка тук.
- Създайте регистрация на приложение
В Azure Portal, в опциите на Azure Active Directory (AAD) има опция за регистрация на приложение. Ще използваме регистрация на приложение за достъп до ADLS.
- Задайте разрешения на ADLS
В ADLS в Data Explorer трябва да предоставите достъп до регистрацията на приложението.
- Експортиране на файлове в ADLS с SSIS
Използвайки задачата ADLS за SSIS в SSDT, можете да експортирате данните от локален файл към SSIS. За целта са ви необходими ADLS URL, идентификационният номер на приложението на регистрацията на приложението и ключът на регистрацията на приложението.
- Проверете резултатите
Накрая в портала Azure отидете на ADLS, Data Explore и проверете дали файловете са копирани успешно.
Изисквания
За тази статия е необходим следният софтуер:
- Инсталирана SSIS (включена с инсталационната програма на SQL Server)
- Инструментите за данни на SQL сървъра (SSDT) са инсталирани
- Акаунт в Azure
- Пакетът с функции на SSIS за Azure
Първи стъпки
1. Инсталирайте пакета с функции SSIS за Azure
Има безплатен пакет с функции за SSIS, който включва задачи за свързване с Azure. Пакетът с функции SSIS трябва да бъде инсталиран. Този пакет включва няколко задачи за работа с Big Data в Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse и други:
Инсталаторът е 29 MB. Има версия за 32 и 64 бита.
2. Създайте Azure Data Lake Store (ADLS) в Azure Portal
Ще ви е необходим и абонамент за Azure. Има пробни издания за начинаещи, които искат да научат тази нова технология. Ще създадем Azure Data Lake Store. Data Lake Store е мястото, където съхранявате данните си в Azure за анализ. Влезте в портала на Azure и отидете на още услуги (>) и в текстовото поле за търсене напишете Data Lake Store. Изберете Data Lake Store:
Предполагам, че все още нямате Data Lake Store, така че ще създадем нов, като натиснете иконата +Добавяне:
Посочете име за Data Lake Store. Групата ресурси трябва да обработва множество ресурси на Azure в групи. Местоположението е да посочите най-близкото до вас местоположение. Можете да платите за консумация. Цената е около 0,39 USD за GB. Колкото повече туберкулоза, толкова е най-евтино. Има и такси за операции за четене и запис (10 000 операции на запис на $0,05 и 10 000 операции за четене на $0,004).
След като създадете, щракнете върху Data Lake Store:
За да създадете папки и да добавите файлове, отидете в Data Explorer:
Създайте нова папка Ще качим файлове в тази папка. Задайте име и натиснете OK:
3. Създайте регистрация на приложение
Ще създадем регистрация на приложение за достъп до Data Lake. При регистрацията на приложение регистрирате приложението си и получавате идентификатор на приложението и ключ. За да направите това, трябва да отидем в Още услуги>Активна директория:
Отидете на Регистрации на приложения:
Добавете име. Типът на приложението е уеб приложение/API (по подразбиране). URL адресът може да бъде произволен URL според вашите предпочитания:
Щракнете върху току-що създаденото приложение:
За да се свържете с Azure Data Lake Store, ви е необходим идентификационният номер на приложението:
В регистрацията на приложението отидете на ключове. Създайте нов ключ и задайте срок на валидност за ключа. Копирайте и поставете стойността някъде. Тази стойност ще е необходима за свързване с Azure Data Lake Store:
Отидете в Data Lake Store и копирайте URL адреса в секцията Преглед. Тази информация е полезна и за свързване чрез SSIS:
4. Задайте разрешения на ADLS
Ние ще предоставим разрешения за регистрациите на нашите приложения. Тези разрешения ще позволят достъп до ADLS. Отидете до Data Explorer:
Натиснете опцията за достъп, за да добавите регистрация на приложение:
Натиснете +Добавяне опция за добавяне на регистрация на приложението:
В текстовото поле напишете AppService и натиснете бутона Избор:
Задаване на разрешения за четене, запис и изпълнение. Можете да добавите разрешения към папката и папката и всички деца.
Можете също да зададете достъп, разрешения по подразбиране и и двете:
5. Експортиране на файлове в ADLS с SSIS
В SSDT създайте SSIS проект. Ако сте инсталирали пакета с функции за Azure, ще можете да видите задачата на файловата система на хранилището на Azure Data Lake. Плъзнете и пуснете тази задача в панела за проектиране:
Щракнете двукратно върху задачата на файловата система за съхранение на Azure Data Lake. Има 2 възможни операции. За да копирате от Azure Data Lake (ADL) или да копирате в ADL. В този пример ще копираме от локален файл в ADL. В източника ще използваме папката c:\sql, ще имаме някои локални файлове за копиране в ADL. В AzureDataLakeDirectory ще използваме споделената папка. Тази папка е създадена в ADL Store в предишни стъпки. AzureDataLakeConnection ще бъде обяснено по-късно. На живо изтичането на файла (тази опция се използва, за да посочите кога изтичат файловете):
В AzureDataLakeConnection ще изберем опцията Нова връзка, за да създадем нова:
При връзката се нуждаете от ADLS хост. Това е URL адресът, когато отидете в секцията Общ преглед на ADLS в портала. При удостоверяване ще използваме Azure AD Service Identity. Тази опция използва регистрацията на приложение, създадена в Azure.
Идентификационният номер на клиента е идентификаторът на приложението на регистрацията на приложението. Можете да намерите тази информация в раздела за регистрация на приложения на Azure AD.
Секретният ключ може да бъде намерен в портала в Регистрация на приложения в Azure AD в раздела за ключове. Можете да създадете ключ и да използвате стойността в този раздел.
Името на наемателя е името на домейна Azure AD (ще обясним домейна на Azure).
Натиснете тестовата връзка, за да проверите дали всичко е наред. След като всичко е наред, натиснете OK:
Ако не знаете вашия домейн (Име на наемател), можете да проверите, като щракнете в горната дясна част на портала.
Можете да стартирате пакета SSIS, за да експортирате данните в ADLS. В този пример имаме 3 файла в локалната папка.
6. Проверете резултатите
Ако всичко е наред, в портала Azure отидете на ADLS и отидете на Data Explorer. Отидете в споделената папка и проверете файловете там. Ще можете да видите 5-те копирани файла.
Експортиране на данни от Data Lake към SQL Server на място
Във втората част ще експортираме данни, съхранявани в Azure Data Lake, към SQL Server на място. Плъзнете и пуснете задача за поток от данни:
Щракнете двукратно върху задачата Data Flow и плъзнете и пуснете източника на Azure Data Lake Store и местоназначението на SQL Server. Свържете двете задачи. Щракнете двукратно върху Azure Data Lake Store Източник:
Изберете ADLS връзката, създадена в първата част на статията. В пътя посочете ADLS пътя (име на папка/файл). В този сценарий файловият формат е текстов, а разделителят е запетая:
В колони можете да видите колоните. Ако няма колони. Създават се заглавки на колони по подразбиране:
Щракнете двукратно върху местоназначението на SQL Server. Натиснете Нов, за да създадете мениджър на връзки:
Създайте нова връзка. Посочете името на SQL Server, удостоверяването и базата данни, където искате да съхранявате данните:
В таблица или изглед натиснете Нова, за да създадете нова таблица:
По подразбиране ще имате следния T-SQL код:
Променете кода, за да посочите име на таблица и дайте имена на колони:
CREATE TABLE [smartphones] ( [ID] int, Brand nvarchar(100), Version nvarchar(100) )
Отидете на страницата за съпоставяне и задайте Prop_0 на ID, Prop_1 на марка, Prop_2 на версия:
Ще имате грешка в SQL Server Destination. Че колоната не може да бъде вмъкната поради проблем с преобразуването. Това е така, защото Prop_0 е низ, а таблицата на SQL Server е цяло число:
Плъзнете и пуснете задачата за преобразуване на данни и се свържете между Azure Data Lake Store Source и SQL Server Destination:
Щракнете двукратно върху преобразуване на данни, изберете Prop_0 и преобразувайте типа данни в четирибайтово подписано цяло число [DT_I4] и задайте псевдоним. Преобразуването на данни създава друга колона с различен тип данни:
Върнете се към SQL Destination Editor и съпоставете Prop_0int с ID:
Стартирайте пакета SSIS. В SSMS проверете дали таблиците dbo.smartphones са създадени и проверете дали данните са импортирани:
Ако имате въпроси или проблеми, не се колебайте да пишете вашите коментари.
Заключения
Azure Data Lake е специално хранилище с висока производителност за обработка на големи данни. За да мигрирате данни от локални сървъри към Azure, можете да използвате SSIS. За да направите това, имате нужда от новия пакет с функции за Azure. Този пакет инсталира нови задачи за свързване с ADLS.
За да се свържем с ADLS чрез SSIS, създадохме регистрация на AAD приложение с разрешения за него.
SSIS позволява лесно качване на файлове в ADLS. Трябва само да посочите ADLS URL адреса и ключа за регистрация на приложението и идентификатора на приложението.
Ние също така показваме как да извлечете данни от ADLS в таблица в SQL Server на място.
Препратки
За повече информация относно SSIS, Data Lake Store, регистрация на приложение използвайте следните връзки:
- Представяме Azure Data Lake
- Azure Data Lake Store Connection Manager
- Azure Feature Pack for Integration Services (SSIS)
- Интегриране на приложения с Azure Active Directory
- Задача на файловата система за съхранение на Azure Data Lake
- Регистрирайте приложението си с вашия клиент на Azure Active Directory