Wprowadzenie
Azure rośnie z każdym dniem. Microsoft stworzył Azure, która jest usługą Cloud Computing wydaną w 2010 roku.
Według Microsoftu 80% firm z fortuny 500 korzysta z Azure. Ponadto 40% przychodów z platformy Azure pochodzi od start-upów i niezależnych dostawców oprogramowania. 33% maszyn wirtualnych platformy Azure korzysta z systemu Linux. Microsoft spodziewa się zarobić 20 miliardów dolarów w 2018 roku.
Dlatego firmy migrują część danych na Azure, a czasami wszystkie dane.
Azure Data Lake to specjalny magazyn do równoległej analizy Big Data na platformie Azure. Jest zoptymalizowany pod kątem analityki. Możesz przechowywać dane z sieci społecznościowych, e-maile, dokumenty, informacje z czujników, informacje geograficzne i inne.
Jeśli chcesz tylko przechowywać dane, wystarczy Azure Blob Storage. Jeśli chcesz analizować dane, Data Lake to najlepsza opcja, ponieważ jest przeznaczona do tworzenia raportów.
Data Lake Store jest zwykle analizowana za pomocą Cortana Analytics Suite, Power BI, SSIS to dobrze znane i popularne narzędzie do migracji danych. W tym nowym artykule pokażemy, jak używać SSIS do migracji danych na platformę Azure. Pokażemy również, jak wyeksportować dane z pliku .txt w Azure Data Lake Store do lokalnego serwera SQL.
Jeśli nie masz żadnego doświadczenia na platformie Azure, ale masz doświadczenie z usługami SSIS. Ten artykuł jest dla Ciebie.
Aby zaimportować dane do Azure Data Lake, wykonamy następujące kroki:
- Zainstaluj pakiet funkcji SSIS dla platformy Azure
Domyślnie nie można połączyć się z usługą Azure Data Lake Store. Konieczne jest zainstalowanie pakietu funkcji dla platformy Azure w projektach SSIS.
- Utwórz Azure Data Lake Store (ADLS) w portalu Azure
Jeśli nie masz sklepu Azure Data Lake Store, musisz utworzyć nowy. Utworzymy folder w tym ADLS i zaimportujemy dane z lokalnego folderu tutaj.
- Utwórz rejestrację aplikacji
W portalu Azure w opcjach usługi Azure Active Directory (AAD) dostępna jest opcja rejestracji aplikacji. Użyjemy rejestracji aplikacji, aby uzyskać dostęp do ADLS.
- Przypisz uprawnienia do ADLS
W ADLS w Eksploratorze danych musisz przyznać dostęp do rejestracji aplikacji.
- Eksportowanie plików do ADLS za pomocą SSIS
Korzystając z zadania ADLS dla SSIS w SSDT, możesz wyeksportować dane z pliku lokalnego do SSIS. W tym celu potrzebujesz adresu URL ADLS, identyfikatora aplikacji rejestracji aplikacji oraz klucza rejestracji aplikacji.
- Zweryfikuj wyniki
Na koniec w Azure Portal przejdź do ADLS, Data Explore i sprawdź, czy pliki zostały pomyślnie skopiowane.
Wymagania
Ten artykuł wymaga następującego oprogramowania:
- Zainstalowano SSIS (w zestawie z instalatorem SQL Server)
- Zainstalowane narzędzia SQL Server Data Tools (SSDT)
- Konto Azure
- Pakiet funkcji SSIS dla platformy Azure
Rozpocznij
1. Zainstaluj pakiet funkcji SSIS dla platformy Azure
Dostępny jest bezpłatny pakiet funkcji dla usług SSIS, który zawiera zadania umożliwiające nawiązanie połączenia z platformą Azure. Pakiet funkcji SSIS musi być zainstalowany. Ten pakiet zawiera kilka zadań do pracy z Big Data na platformie Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse i nie tylko:
Instalator zajmuje 29 MB. Dostępna jest wersja na 32 i 64 bity.
2. Utwórz Azure Data Lake Store (ADLS) w portalu Azure
Będziesz także potrzebować subskrypcji platformy Azure. Istnieją wersje próbne dla początkujących, którzy chcą poznać tę nową technologię. Stworzymy Azure Data Lake Store. Data Lake Store to miejsce, w którym przechowujesz dane na platformie Azure do celów analitycznych. Zaloguj się do Azure Portal i przejdź do większej liczby usług (>), a w polu tekstowym wyszukiwania wpisz Data Lake Store. Wybierz Data Lake Store:
Zakładam, że nie masz jeszcze Data Lake Store, więc utworzymy nowy, naciskając ikonę +Dodaj:
Określ nazwę dla Data Lake Store. Grupa zasobów ma obsługiwać wiele zasobów platformy Azure w grupach. Lokalizacja to określenie najbliższej lokalizacji. Możesz zapłacić za konsumpcję. Cena wynosi około 0,39 USD za GB. Im więcej gruźlicy, tym taniej. Istnieją również opłaty za operacje odczytu i zapisu (10 000 operacji zapisu za 0,05 USD i 10 000 operacji odczytu za 0,004 USD).
Po utworzeniu kliknij Data Lake Store:
Aby utworzyć foldery i dodać pliki, przejdź do Eksploratora danych:
Utwórz Nowy folder. Prześlemy pliki do tego folderu. Przypisz nazwę i naciśnij OK:
3. Utwórz rejestrację aplikacji
Utworzymy rejestrację aplikacji, aby uzyskać dostęp do Data Lake. Podczas rejestracji aplikacji rejestrujesz swoją aplikację i otrzymujesz identyfikator aplikacji oraz klucz. Aby to zrobić, musimy przejść do Więcej usług>Active Directory:
Przejdź do Rejestracji aplikacji:
Dodaj nazwę. Typ aplikacji to Web app/API (domyślny). Adres URL może być dowolnym adresem URL zgodnie z Twoimi preferencjami:
Kliknij na utworzoną aplikację:
Aby połączyć się z usługą Azure Data Lake Store, potrzebujesz identyfikatora aplikacji:
W rejestracji aplikacji przejdź do kluczy. Utwórz nowy klucz i przypisz czas wygaśnięcia dla klucza. Skopiuj i wklej gdzieś wartość. Ta wartość będzie wymagana do nawiązania połączenia z usługą Azure Data Lake Store:
Przejdź do Data Lake Store i skopiuj adres URL w sekcji Przegląd. Te informacje są również przydatne podczas łączenia się za pomocą SSIS:
4. Przypisz uprawnienia do ADLS
Udzielimy uprawnień do naszych rejestracji aplikacji. Te uprawnienia pozwolą na dostęp do ADLS. Przejdź do Eksploratora danych:
Naciśnij opcję Dostęp, aby dodać rejestrację aplikacji:
Naciśnij +Dodaj możliwość dodania rejestracji aplikacji:
W polu tekstowym wpisz AppService i naciśnij przycisk Wybierz:
Przydziel uprawnienia do odczytu, zapisu i wykonywania. Możesz dodać uprawnienia do folderu i folderu oraz wszystkich elementów podrzędnych.
Możesz także przypisać dostęp, uprawnienia domyślne i oba:
5. Eksportowanie plików do ADLS za pomocą SSIS
W SSDT utwórz projekt SSIS. Jeśli zainstalowano pakiet funkcji dla platformy Azure, będzie można zobaczyć zadanie systemu plików usługi Azure Data Lake Store. Przeciągnij i upuść to zadanie do okienka projektu:
Kliknij dwukrotnie zadanie systemu plików usługi Azure Data Lake Store. Możliwe są 2 operacje. Aby skopiować z Azure Data Lake (ADL) lub skopiować do ADL. W tym przykładzie skopiujemy z lokalnego pliku do ADL.W źródle użyjemy folderu c:\sql, będziemy mieli kilka lokalnych plików do skopiowania do ADL. W AzureDataLakeDirectory użyjemy udostępnionego folderu. Ten folder został utworzony w ADL Store w poprzednich krokach. AzureDataLakeConnection zostanie wyjaśnione później. Aktywuj wygaśnięcie pliku (ta opcja służy do określenia, kiedy wygaśnie plik):
W AzureDataLakeConnection wybierzemy opcję Nowe połączenie, aby utworzyć nowe:
Do połączenia potrzebny jest host ADLS. To jest adres URL po przejściu do sekcji Przegląd ADLS w portalu.W uwierzytelnianiu użyjemy tożsamości usługi Azure AD. Ta opcja korzysta z rejestracji aplikacji utworzonej na platformie Azure.
Identyfikator klienta to identyfikator aplikacji rejestracji aplikacji. Te informacje można znaleźć w sekcji Rejestracja aplikacji w usłudze Azure AD.
Klucz tajny można znaleźć w portalu w rejestracji aplikacji w usłudze Azure AD w sekcji klucza. Możesz utworzyć klucz i użyć wartości w tej sekcji.
Nazwa najemcy to nazwa domeny usługi Azure AD (wyjaśnimy domenę Azure).
Naciśnij połączenie testowe, aby sprawdzić, czy wszystko jest w porządku. Gdy wszystko będzie dobrze, naciśnij OK:
Jeśli nie znasz swojej domeny (nazwy najemcy), możesz to sprawdzić, klikając w prawym górnym rogu portalu.
Możesz uruchomić pakiet SSIS, aby wyeksportować dane do ADLS. W tym przykładzie mamy 3 pliki w folderze lokalnym.
6. Sprawdź wyniki
Jeśli wszystko jest w porządku, w Azure Portal przejdź do ADLS i przejdź do Eksploratora danych. Przejdź do udostępnionego folderu i sprawdź znajdujące się tam pliki. Będziesz mógł zobaczyć 5 skopiowanych plików.
Eksportuj dane z Data Lake do lokalnego serwera SQL
W drugiej części wyeksportujemy dane przechowywane w Azure Data Lake do lokalnego serwera SQL. Przeciągnij i upuść zadanie przepływu danych:
Kliknij dwukrotnie zadanie Przepływ danych, a następnie przeciągnij i upuść źródło Azure Data Lake Store i miejsce docelowe programu SQL Server. Połącz oba zadania. Kliknij dwukrotnie Źródło Azure Data Lake Store:
Wybierz połączenie ADLS utworzone w pierwszej części artykułu. W ścieżce określ ścieżkę ADLS (nazwa folderu/pliku). W tym scenariuszu format pliku to tekst, a separator to przecinek:
W kolumnach możesz zobaczyć kolumny. Jeśli nie ma kolumn. Tworzone są domyślne nagłówki kolumn:
Kliknij dwukrotnie miejsce docelowe serwera SQL. Naciśnij Nowy, aby utworzyć menedżera połączeń:
Utwórz nowe połączenie. Podaj nazwę serwera SQL, uwierzytelnianie i bazę danych, w której chcesz przechowywać dane:
W tabeli lub widoku naciśnij Nowy, aby utworzyć nową tabelę:
Domyślnie będziesz mieć następujący kod T-SQL:
Zmień kod, aby określić nazwę tabeli i nadać nazwy kolumn:
CREATE TABLE [smartphones] ( [ID] int, Brand nvarchar(100), Version nvarchar(100) )
Przejdź do strony Mapowania i przypisz Prop_0 do ID, Prop_1 do marki, Prop_2 do wersji:
Pojawi się błąd w lokalizacji docelowej serwera SQL. Nie można wstawić kolumny z powodu problemu z konwersją. Dzieje się tak, ponieważ Prop_0 jest łańcuchem, a tabela SQL Server jest liczbą całkowitą:
Przeciągnij i upuść zadanie konwersji danych i połącz się między źródłem usługi Azure Data Lake Store a miejscem docelowym programu SQL Server:
Kliknij dwukrotnie konwersję danych, wybierz Prop_0 i przekonwertuj Typ danych na czterobajtową liczbę całkowitą ze znakiem [DT_I4] i przypisz alias. Konwersja danych tworzy kolejną kolumnę z innym typem danych:
Wróć do Edytora docelowego SQL i dopasuj Prop_0int do ID:
Uruchom pakiet SSIS. W SSMS sprawdź, czy zostały utworzone tabele dbo.smartphones i sprawdź, czy dane zostały zaimportowane:
Jeśli masz pytania lub problemy, możesz napisać swoje komentarze.
Wnioski
Azure Data Lake to specjalna pamięć masowa o wysokiej wydajności do obsługi Big Data. Aby przeprowadzić migrację danych z serwerów lokalnych na platformę Azure, możesz użyć usług SSIS. Aby to zrobić, potrzebujesz nowego pakietu Feature Pack dla platformy Azure. Ten pakiet instaluje nowe zadania, aby połączyć się z ADLS.
Aby połączyć się z ADLS za pomocą SSIS, stworzyliśmy rejestrację aplikacji AAD z uprawnieniami do niej.
SSIS umożliwia łatwe przesyłanie plików do ADLS. Wystarczy podać adres URL ADLS oraz klucz rejestracji aplikacji i identyfikator aplikacji.
Pokazujemy również, jak wyodrębnić dane z ADLS do tabeli w lokalnym serwerze SQL.
Referencje
Aby uzyskać więcej informacji o usługach SSIS, Data Lake Store i rejestracji aplikacji, skorzystaj z następujących łączy:
- Przedstawiamy Azure Data Lake
- Menedżer połączeń Azure Data Lake Store
- Azure Feature Pack dla usług integracji (SSIS)
- Integracja aplikacji z Azure Active Directory
- Zadanie systemu plików Azure Data Lake Store
- Zarejestruj swoją aplikację u dzierżawcy Azure Active Directory