Trong Phần thứ nhất của loạt bài về ảo hóa dữ liệu UDP này thông qua PolyBase, tôi đã giới thiệu về PolyBase và cung cấp các điều kiện tiên quyết cho bản trình diễn này. Trong phần cuối cùng này, bạn có thể đi sâu vào bản trình diễn.
Demo:Các bước thiết lập SQL Polybase để tìm nạp dữ liệu từ Azure blob
Thực hiện các bước sau để tiến hành demo:
1. Thiết lập SQL Server® để truy cập tệp văn bản bên ngoài được đặt trên blob
Để cho phép SQL Server truy cập tệp văn bản bên ngoài được đặt trên Azure® blob, hãy chạy truy vấn sau:
EXEC sp_configure @configname = 'hadoop connectivity', @configvalue = 7;
Go
Hình 1
2. Thiết lập cơ sở dữ liệu SQL Server, khóa chính của cơ sở dữ liệu và thông tin đăng nhập
Bây giờ, bạn cần sử dụng cơ sở dữ liệu hiện có hoặc tạo một cơ sở dữ liệu mới. Tôi đã tạo một cái tên mới là PolybaseTestDB cho bản trình diễn này.
Sau khi bạn có DB của mình, hãy tạo khóa chính cơ sở dữ liệu và thông tin đăng nhập bằng cách sử dụng truy vấn sau:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Welcome@3452';
USE PolybaseTestDB
Go
CREATE DATABASE SCOPED CREDENTIAL [Polybasecred]
WITH
IDENTITY = ‘Polybaseaccount’,
SECRET=’qdfAVoBN+yr2rHN796gXFtpfhxKgAW3JDAtSPi0RnWcWgy9YRSwyGQR7BoINTHSgjiorUFTCmZpLTZspCbXesg==’;
Trong truy vấn trước, SECRET là khóa truy cập của tài khoản lưu trữ bạn đã tạo trước đây. Bạn có thể lấy nó bằng cách thực hiện các bước sau:
- Đi tới Cổng Azure -> Tài khoản Lưu trữ .
- Nhấp vào tài khoản bộ nhớ của bạn.
- Trong ngăn bên trái, chọn Khóa truy cập .
- Các phím hiển thị trên ngăn bên phải.
- Sao chép và sử dụng chúng trong truy vấn trước đó.
3. Tạo nguồn dữ liệu bên ngoài bằng cách sử dụng thông tin đăng nhập bạn đã tạo
Chạy truy vấn sau để tạo nguồn dữ liệu bên ngoài. Sau khi tạo, bạn có thể tìm nguồn dữ liệu bên ngoài trong tài nguyên bên ngoài DB.
CREATE EXTERNAL DATA SOURCE AzureStorage
WITH
(
TYPE = HADOOP,
LOCATION = 'wasbs://[email protected]',
CREDENTIAL = [Polybasecred]
);
Hình 2
Lưu ý: Azure Storage Blob là một tiện ích mở rộng được xây dựng dựa trên API Hệ thống tệp phân tán (HDFS) Hadoop®, vì vậy TYPE trong truy vấn trước là Hadoop
.
4. Tạo định dạng tệp bên ngoài
Chạy truy vấn sau:
CREATE EXTERNAL FILE FORMAT TextFileFormat WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR =',',USE_TYPE_DEFAULT = TRUE))
Hình 3
Lưu ý :Vì là tệp văn bản được phân tách bằng dấu phẩy nên FIELD_TERMINATOR là ‘,’
.
5. Tạo bảng bên ngoài
Chạy truy vấn sau:
CREATE EXTERNAL TABLE dbo.SQLPolybaseTable (
[Name] varchar(500),
[Subject] varchar(500),
[Education] varchar(500)
)
WITH (
LOCATION='/Data.txt', This is the name of the file uploaded to the container.
DATA_SOURCE=AzureStorage, The Data Source created in previous steps.
FILE_FORMAT=TextFileFormat The File Format Name created in previous steps.
);
Hình 4
6. Truy vấn bảng bên ngoài
Truy vấn bảng bên ngoài như cách bạn làm với bất kỳ bảng nào khác trên Máy chủ SQL của bạn. Kết quả xác thực rằng PolyBase giúp chúng tôi tìm nạp dữ liệu bên ngoài. Chạy truy vấn sau:
Select * from <Tablename>
Hình 5
Kết luận
Trong các bài viết trong tương lai, tôi dự định khám phá sâu các khái niệm sau:
- Data Mart thông qua cửa hàng Columnar
- Data Lake thông qua HDFS
- Dữ liệu lớn, ML, Truyền trực tuyến qua Apache Spark
Ngoài ra, vì tôi đã gặp một số vấn đề trong bản trình diễn này, tôi muốn tổng hợp lại và trình bày những kinh nghiệm đó trong một blog sắp tới.
Hãy theo dõi!
Tìm hiểu thêm về các dịch vụ Dữ liệu của chúng tôi.
Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể bắt đầu cuộc trò chuyện với chúng tôi.