ใน Part One ของซีรีز UDP Data Virtualization ผ่าน PolyBase ผมแนะนำ PolyBase และให้ข้อกำหนดเบื้องต้นสำหรับ Demo นี้ ในส่วนสุดท้ายนี้ คุณสามารถดำดิ่งสู่ Demo ได้
Demo: ขั้นตอนตั้งค่า SQL Polybase เพื่อดึงข้อมูลจาก Azure Blob
ดำเนินขั้นตอนต่อไปนี้เพื่อดำเนินการ Demo:
1. ตั้งค่า SQL Server® เพื่อเข้าถึง External Text File บน Blob
เพื่อให้ SQL Server เข้าถึง External Text File ที่วางบน Azure® Blob ให้รัน Query ต่อไปนี้:
EXEC sp_configure @configname = 'hadoop connectivity', @configvalue = 7;
Go
รูปที่ 1
2. ตั้งค่า SQL Server Database, Database Master Key และ Credentials
ตอนนี้ คุณต้องใช้ฐานข้อมูลที่มีอยู่ หรือสร้างใหม่ ผมสร้างใหม่ชื่อ PolybaseTestDB สำหรับ Demo นี้
หลังจากมี DB แล้ว สร้าง Database Master Key และ Credentials โดยใช้ Query ต่อไปนี้:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Welcome@3452';
USE PolybaseTestDB
Go
CREATE DATABASE SCOPED CREDENTIAL [Polybasecred] WITH IDENTITY = 'Polybaseaccount', SECRET='qdfAVoBN+yr2rHN796gXFtpfhxKgAW3JDAtSPi0RnWcWgy9YRSwyGQR7BoINTHSgjiorUFTCmZpLTZspCbXesg==';
ใน Query ก่อนหน้า SECRET คือ Access Key ของ Storage Account ที่คุณสร้างไว้ก่อนหน้านี้ คุณสามารถรับได้โดยทำขั้นตอนต่อไปนี้:
- ไปที่ Azure Portal -> Storage Accounts
- คลิกที่ Storage Account ของคุณ
- ใน फलค์ ด้านซ้าย เลือก Access Key
- Keys แสดงบน फलค์ ด้านขวา
- คัดลอกและใช้ใน Query ก่อนหน้า
3. สร้าง External Data Source โดยใช้ Credentials ที่สร้าง
รัน Query ต่อไปนี้เพื่อสร้าง External Data Source หลังจากสร้างแล้ว คุณสามารถหา External Data Source ภายใต้ DB External Resources
CREATE EXTERNAL DATA SOURCE AzureStorage WITH (
TYPE = HADOOP,
LOCATION = 'wasbs://polybasedemocontainer@polybasedemo1.blob.core.windows.net',
CREDENTIAL = [Polybasecred] );
รูปที่ 2
หมายเหตุ: Azure Storage Blob เป็น Extension ที่สร้างบน Hadoop® Distributed File System (HDFS) APIs ดังนั้น TYPE ใน Query ก่อนหน้าคือ Hadoop
4. สร้าง External File Format
รัน Query ต่อไปนี้:
CREATE EXTERNAL FILE FORMAT TextFileFormat WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR =',',USE_TYPE_DEFAULT = TRUE))
รูปที่ 3
หมายเหตุ: เนื่องจากเป็นไฟล์ข้อความคั่นด้วยคอมมา (Comma-separated) FIELD_TERMINATOR คือ ','
5. สร้าง External Table
รัน Query ต่อไปนี้:
CREATE EXTERNAL TABLE dbo.SQLPolybaseTable (
[Name] varchar(500),
[Subject] varchar(500),
[Education] varchar(500)
) WITH (
LOCATION='/Data.txt', -- นี่คือชื่อไฟล์ที่อัปโหลดไปยัง Container
DATA_SOURCE=AzureStorage, -- Data Source ที่สร้างในขั้นตอนก่อน
FILE_FORMAT=TextFileFormat -- File Format Name ที่สร้างในขั้นตอนก่อน
);
รูปที่ 4
6. Query External Table
Query External Table เหมือน Table ใดๆ บน SQL Server ของคุณ ผลลัพธ์ยืนยันว่า PolyBase ช่วยให้เราดึงข้อมูลภายนอกได้ รัน Query ต่อไปนี้:
Select * from
รูปที่ 5
สรุป
ในโพสต์อนาคต ผมวางแผนจะสำรวจลึกซึ้งแนวคิดต่อไปนี้:
- Data Mart ผ่าน Columnar Store
- Data Lake ผ่าน HDFS
- Big Data, ML, Streaming ผ่าน Apache Spark
นอกจากนี้ เนื่องจากผมเจอปัญหาสองสามอย่างระหว่าง Demo นี้ ผมอยากรวมและนำเสนอประสบการณ์เหล่านั้นในบล็อกข้างหน้า
Stay Tuned!
เรียนรู้เพิ่มเติมเกี่ยวกับบริการข้อมูลของเรา
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถเริ่มการสนทนากับเราได้