Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Tải tài liệu lên Azure Data Lake và xuất dữ liệu bằng SSIS

Giới thiệu

Azure đang phát triển mỗi ngày. Microsoft đã tạo ra Azure, là một dịch vụ Điện toán đám mây được phát hành vào năm 2010.

Theo Microsoft, 80% trong tổng số 500 công ty đang sử dụng Azure. Ngoài ra, 40% Doanh thu Azure đến từ các Công ty khởi nghiệp và các nhà cung cấp phần mềm độc lập. 33% Máy ảo Azure đang sử dụng Linux. Microsoft dự kiến ​​sẽ kiếm được 20 tỷ đô la trong năm 2018.

Đó là lý do tại sao các công ty đang di chuyển một phần dữ liệu sang Azure và đôi khi là tất cả dữ liệu.

Azure Data Lake là một kho lưu trữ đặc biệt để phân tích Big Data song song trong Azure. Nó được tối ưu hóa cho phân tích. Bạn có thể lưu trữ dữ liệu mạng xã hội, email, tài liệu, thông tin cảm biến, thông tin địa lý và hơn thế nữa.

Nếu bạn chỉ muốn lưu trữ dữ liệu, Azure Blob Storage là đủ. Nếu bạn muốn phân tích dữ liệu, Data Lake là lựa chọn tốt nhất vì nó được thiết kế cho các báo cáo.

Data Lake Store thường được phân tích bằng Cortana Analytics Suite, Power BI, SSIS là một công cụ nổi tiếng và phổ biến để di chuyển dữ liệu. Trong bài viết mới này, chúng tôi sẽ hướng dẫn cách sử dụng SSIS để di chuyển dữ liệu sang Azure. Chúng tôi cũng sẽ hướng dẫn cách xuất dữ liệu từ tệp .txt trong Azure Data Lake Store sang SQL Server tại chỗ.

Nếu bạn chưa có bất kỳ kinh nghiệm nào về Azure, nhưng bạn có kinh nghiệm với SSIS. Bài viết này là dành cho bạn.

Chúng tôi sẽ làm theo các bước sau để nhập dữ liệu vào Azure Data Lake:

  1. Cài đặt gói Tính năng SSIS cho Azure
    Theo mặc định, bạn không thể kết nối với Azure Data Lake Store. Cần phải cài đặt gói tính năng cho Azure trong các dự án SSIS.
  1. Tạo Azure Data Lake Store (ADLS) trong Azure Portal
    Nếu bạn không có Azure Data Lake Store, bạn sẽ cần tạo một cái mới. Chúng tôi sẽ tạo một thư mục trong ADLS này và chúng tôi sẽ nhập dữ liệu từ một thư mục cục bộ tại đây.
  1. Tạo đăng ký ứng dụng
    Trong Azure Portal, trong tùy chọn Azure Active Directory (AAD), có một tùy chọn để đăng ký ứng dụng. Chúng tôi sẽ sử dụng đăng ký ứng dụng để truy cập ADLS.
  1. Chỉ định quyền cho ADLS
    Trong ADLS trong Data Explorer, bạn cần cấp quyền truy cập đăng ký Ứng dụng.
  1. Xuất tệp sang ADLS bằng SSIS
    Sử dụng tác vụ ADLS cho SSIS trong SSDT, bạn có thể xuất dữ liệu từ tệp cục bộ sang SSIS. Vì mục đích này, bạn cần có URL ADLS, ID ứng dụng của đăng ký Ứng dụng và Khóa đăng ký ứng dụng.
  1. Xác minh kết quả
    Cuối cùng, trong Azure Portal, hãy truy cập ADLS, Data Explore và xác minh rằng các tệp đã được sao chép thành công.

Yêu cầu

Phần mềm sau là bắt buộc cho bài viết này:

  1. Đã cài đặt SSIS (đi kèm với trình cài đặt SQL Server)
  2. Công cụ dữ liệu SQL Server (SSDT) ​​đã được cài đặt
  3. Tài khoản Azure
  4. Gói tính năng SSIS cho Azure

Bắt đầu

1. Cài đặt gói Tính năng SSIS cho Azure
Có một Gói tính năng miễn phí cho SSIS bao gồm các tác vụ để kết nối với Azure. Gói tính năng SSIS cần được cài đặt. Gói này bao gồm một số tác vụ để làm việc với Dữ liệu lớn trong Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse và hơn thế nữa:

Trình cài đặt có dung lượng 29 MB. Có một phiên bản cho 32 và 64 bit.

Đ 2. Tạo Azure Data Lake Store (ADLS) trong Azure Portal
Bạn cũng sẽ cần đăng ký Azure. Có các phiên bản dùng thử cho người mới muốn tìm hiểu công nghệ mới này. Chúng tôi sẽ tạo một Azure Data Lake Store. Data Lake Store là nơi bạn lưu trữ dữ liệu của mình trong Azure để phân tích. Hãy đăng nhập vào Azure Portal và đi tới các dịch vụ khác (>) và trong hộp văn bản tìm kiếm, hãy ghi Data Lake Store. Chọn Cửa hàng Data Lake:

Tôi giả sử rằng bạn chưa có Data Lake Store, vì vậy chúng tôi sẽ tạo một cái mới bằng cách nhấn vào biểu tượng + Thêm:

Chỉ định tên cho Data Lake Store. Nhóm tài nguyên là xử lý nhiều tài nguyên Azure theo nhóm. Vị trí là chỉ định vị trí gần bạn nhất. Bạn có thể trả tiền để tiêu dùng. Giá khoảng 0,39 USD mỗi GB. Càng nhiều TB, nó càng rẻ. Ngoài ra còn có phí cho mỗi hoạt động đọc và ghi (10.000 hoạt động ghi trên 0,05 đô la và 10.000 hoạt động đọc trên 0,004 đô la).

Sau khi tạo, nhấp vào Data Lake Store:

Để tạo thư mục và thêm tệp, hãy đi tới Trình khám phá dữ liệu:

Tạo Thư mục mới. Chúng tôi sẽ tải các tập tin lên thư mục này. Gán tên và nhấn OK:

Đ 3. Tạo đăng ký ứng dụng
Chúng tôi sẽ tạo một đăng ký Ứng dụng để truy cập vào Data Lake. Trong Đăng ký ứng dụng, bạn đăng ký ứng dụng của mình và bạn sẽ được chỉ định một ID ứng dụng và một khóa. Để làm điều đó, chúng ta cần đi tới Dịch vụ khác> Thư mục hoạt động:

Đi tới Đăng ký ứng dụng:

Thêm tên. Loại ứng dụng là Ứng dụng web / API (loại mặc định). URL có thể là bất kỳ URL nào theo sở thích của bạn:



Nhấp vào ứng dụng vừa tạo:


Để kết nối với Azure Data Lake Store, bạn cần ID ứng dụng:

Trong phần Đăng ký ứng dụng, hãy chuyển đến phím. Tạo khóa mới và ấn định thời gian hết hạn cho khóa. Sao chép và dán giá trị vào một nơi nào đó. Giá trị này sẽ được yêu cầu để kết nối với Azure Data Lake Store:

Đi tới Data Lake Store và sao chép URL trong phần Tổng quan. Thông tin này cũng hữu ích để kết nối bằng SSIS:


4. Chỉ định quyền cho ADLS
Chúng tôi sẽ cấp quyền cho đăng ký Ứng dụng của chúng tôi. Các quyền này sẽ cho phép truy cập vào ADLS.Đi tới Trình khám phá dữ liệu:

Nhấn tùy chọn Access để thêm Đăng ký ứng dụng:


Nhấn + Thêm tùy chọn để thêm đăng ký Ứng dụng:

Trong hộp văn bản, hãy viết AppService và nhấn nút Chọn:


Gán quyền đọc, ghi và thực thi. Bạn có thể thêm quyền vào thư mục và thư mục và tất cả các phần tử con.

Bạn cũng có thể chỉ định quyền truy cập, quyền mặc định và cả hai:

5. Xuất tệp sang ADLS với SSIS
Trong SSDT, hãy tạo một dự án SSIS. Nếu bạn đã cài đặt gói tính năng cho Azure, bạn sẽ có thể thấy Tác vụ Hệ thống Tệp Cửa hàng Dữ liệu Azure. Kéo và thả tác vụ này vào ngăn thiết kế:

Bấm đúp vào Tác vụ Hệ thống Tệp Lưu trữ Azure Data Lake. Có 2 hoạt động có thể. Để sao chép từ Azure Data Lake (ADL) hoặc sao chép vào ADL. Trong ví dụ này, chúng tôi sẽ sao chép từ một tệp cục bộ sang ADL. Trong nguồn, chúng tôi sẽ sử dụng thư mục c:\ sql, chúng tôi sẽ có một số tệp cục bộ để sao chép vào ADL. Trong AzureDataLakeDirectory, chúng tôi sẽ sử dụng thư mục được chia sẻ. Thư mục này đã được tạo trong ADL Store ở các bước trước. AzureDataLakeConnection sẽ được giải thích ở phần sau. Trực tiếp khi hết hạn tệp (tùy chọn này được sử dụng để chỉ định thời điểm tệp hết hạn):

Trong AzureDataLakeConnection, chúng tôi sẽ chọn tùy chọn Kết nối mới để tạo một kết nối mới:

Trong kết nối, bạn cần máy chủ ADLS. Đây là URL khi bạn chuyển đến phần Tổng quan về ADLS trong cổng thông tin. Trong Xác thực, chúng tôi sẽ sử dụng Nhận dạng dịch vụ Azure AD. Tùy chọn này sử dụng Đăng ký ứng dụng được tạo trong Azure.

ID khách hàng là ID ứng dụng của Đăng ký ứng dụng. Bạn có thể tìm thấy thông tin này trong phần Đăng ký ứng dụng của Azure AD.

Bạn có thể tìm thấy khóa bí mật trong cổng đăng ký ứng dụng trong Azure AD trong phần khóa. Bạn có thể tạo khóa và sử dụng giá trị trong phần này.

Tên người thuê là tên của miền Azure AD (chúng tôi sẽ giải thích về Miền Azure).

Nhấn kết nối kiểm tra để xác minh rằng mọi thứ đều ổn. Khi đã ổn, hãy nhấn OK:

Nếu bạn không biết miền của mình (Tên người thuê), bạn có thể kiểm tra bằng cách nhấp vào phần trên cùng bên phải của Cổng thông tin.


Bạn có thể chạy gói SSIS để xuất dữ liệu sang ADLS. Trong ví dụ này, chúng tôi có 3 tệp trong thư mục cục bộ.

6. Xác minh kết quả
Nếu mọi thứ đều ổn, trong Azure Portal, hãy chuyển đến ADLS và truy cập Data Explorer. Đi tới thư mục được chia sẻ và kiểm tra các tệp ở đó. Bạn sẽ có thể thấy 5 tệp được sao chép.


Xuất dữ liệu từ Data Lake sang SQL Server tại chỗ

Trong phần thứ hai, chúng tôi sẽ xuất dữ liệu được lưu trữ trong Azure Data Lake sang SQL Server tại chỗ. Kéo và thả tác vụ Luồng dữ liệu:

Bấm đúp vào tác vụ Luồng dữ liệu và kéo và thả Nguồn lưu trữ hồ dữ liệu Azure và Đích máy chủ SQL. Kết nối cả hai nhiệm vụ. Nhấp đúp vào Nguồn lưu trữ Azure Data Lake:

Chọn Kết nối ADLS đã tạo trong phần đầu của bài viết. Trong đường dẫn, chỉ định đường dẫn ADLS (tên thư mục / tệp). Trong trường hợp này, định dạng tệp là văn bản và dấu phân cách là dấu phẩy:

Trong các cột, bạn có thể thấy các cột. Nếu không có cột nào. Tiêu đề cột mặc định được tạo:

Bấm đúp vào Đích máy chủ SQL. Nhấn Mới để tạo trình quản lý kết nối:

Tạo một kết nối mới. Chỉ định tên SQL Server, xác thực và cơ sở dữ liệu nơi bạn muốn lưu trữ dữ liệu:

Trong bảng hoặc dạng xem, nhấn Mới để tạo bảng mới:



Theo mặc định, bạn sẽ có mã T-SQL sau:

Thay đổi mã để chỉ định tên bảng và đặt tên cột:

CREATE TABLE [smartphones] (

    [ID] int,

    Brand nvarchar(100),

    Version nvarchar(100)

)

Chuyển đến trang Ánh xạ và gán Prop_0 cho ID, Prop_1 cho Brand, Prop_2 cho Version:

Bạn sẽ gặp lỗi trong SQL Server Destination. Không thể chèn cột do sự cố chuyển đổi. Điều này là do Prop_0 là một chuỗi và bảng SQL Server là một số nguyên:

Kéo và thả tác vụ Chuyển đổi dữ liệu và kết nối giữa Nguồn cửa hàng Azure Data Lake và Máy chủ SQL đích:

Nhấp đúp vào chuyển đổi dữ liệu, chọn Prop_0 và chuyển đổi Kiểu dữ liệu thành số nguyên có dấu 4 byte [DT_I4] và gán bí danh. Chuyển đổi dữ liệu tạo một cột khác có kiểu dữ liệu khác:

Quay lại SQL Destination Editor và đối sánh Prop_0int với ID:

Chạy gói SSIS. Trong SSMS, hãy xác minh rằng các bảng dbo.smartphones được tạo và kiểm tra xem dữ liệu đã được nhập chưa:

Nếu bạn có câu hỏi hoặc vấn đề, vui lòng viết nhận xét của bạn.

Kết luận

Azure Data Lake là một bộ lưu trữ đặc biệt với hiệu suất cao để xử lý Big Data. Để di chuyển dữ liệu từ Máy chủ cục bộ sang Azure, bạn có thể sử dụng SSIS. Để làm điều đó, bạn cần Gói tính năng mới cho Azure. Gói này cài đặt các Tác vụ mới để kết nối với ADLS.

Để kết nối với ADLS bằng SSIS, chúng tôi đã tạo đăng ký Ứng dụng AAD với quyền đối với nó.

SSIS cho phép tải tệp lên ADLS một cách dễ dàng. Bạn chỉ cần chỉ định URL ADLS và khóa đăng ký ứng dụng và ID ứng dụng.

Chúng tôi cũng chỉ ra cách trích xuất dữ liệu từ ADLS vào một bảng trong SQL Server tại chỗ.

Tài liệu tham khảo

Để biết thêm thông tin về SSIS, Data Lake Store, Đăng ký ứng dụng, hãy sử dụng các liên kết sau:

  • Giới thiệu Azure Data Lake
  • Trình quản lý kết nối cửa hàng Azure Data Lake
  • Gói tính năng Azure cho Dịch vụ tích hợp (SSIS)
  • Tích hợp các ứng dụng với Azure Active Directory
  • Tác vụ Hệ thống Tệp Lưu trữ Azure Data Lake
  • Đăng ký đơn đăng ký của bạn với đối tượng thuê Azure Active Directory

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các lệnh cơ bản trong SQL:Cách viết các truy vấn đơn giản với các ví dụ

  2. Flask theo ví dụ - Thiết lập Postgres, SQLAlchemy và Alembic

  3. Người đọc giải pháp cho thách thức Quần đảo đặc biệt

  4. Tạo mặt nạ dữ liệu thời gian thực bằng cách sử dụng trình kích hoạt

  5. Toán tử SQL không bằng với () cho người mới bắt đầu