Trong bài blog gần đây nhất của tôi, Unified data platform and data virtualization through PolyBase: Part Two, tôi đã cung cấp demo về ảo hóa dữ liệu (data virtualization) qua PolyBase.
Trong khi thiết lập demo SQL PolyBase để lấy dữ liệu từ nguồn bên ngoài, tôi gặp một vài vấn đề. Mặc dù tôi khắc phục nhanh chóng, tôi nghĩ rằng việc tổng hợp và trình bày chúng ở một nơi sẽ tốt để bất kỳ ai gặp cùng vấn đề có thể được hưởng lợi. Vậy hãy bắt đầu.
Vấn đề thứ nhất
LỖI: Bạn chỉ có thể cài đặt PolyBase trên một instance SQL Server mỗi máy.
Hình 1 - Vấn đề thứ nhất, lỗi
Nguyên nhân
Lỗi này tự giải thích. Các instance không thể chia sẻ PolyBase, và nhiều hơn một instance trên một máy không thể có nó cùng lúc. Trong trường hợp của tôi, tôi đã cài đặt SQL Polybase trên instance khác trước đó, nên lỗi xảy ra.
Giải pháp
Tôi phải gỡ Polybase khỏi instance nơi tôi cài đặt trước đó. Sau đó, tôi chạy lại SQL setup và chọn cài đặt tính năng PolyBase cho instance mới, và nó hoạt động tốt.
Hình 2 - Vấn đề thứ nhất, đã giải quyết
Vấn đề thứ hai
LỖI: Hỗ trợ external data source kiểu HADOOP chưa được bật. Để bật, hãy đặt 'hadoop connectivity' về giá trị mong muốn.
Lỗi xảy ra khi tôi tạo external data source kiểu TYPE = HADOOP.
Hình 3 - Vấn đề thứ hai, lỗi
Nguyên nhân
Hệ thống ném lỗi này trong hai trường hợp:
- Bạn không đặt tham số SQL Server Hadoop_connectivity thành giá trị mong muốn.
- Bạn đặt tham số đúng, nhưng bạn không khởi động lại dịch vụ SQL sau khi đặt tham số. Bước này là cần thiết ngay cả khi tài liệu không nhắc đến.
Bạn có thể dùng truy vấn sau để đặt giá trị tham số:
EXEC sp_configure @configname = 'hadoop connectivity', @configvalue = 7;
Go
Reconfigure
Giải pháp
Tôi kiểm tra giá trị tham số trên instance của mình, và tôi đã thiết lập đúng, như hiển thị trong hình sau:
Hình 4
Mặc dù tài liệu không ghi rõ cần restart dịch vụ SQL, việc restart đã khắc phục vấn đề cho tôi. Tôi chạy lại truy vấn Create External Data Source ở Bước 3 của bài demo PolyBase, và nó chạy tốt.
Hình 5 - Vấn đề thứ hai, đã giải quyết
Vấn đề thứ ba
LỖI: Cú pháp không đúng gần EXTERNAL
Lỗi xảy ra khi tôi chạy truy vấn sau để tạo external file format:
CREATE EXTERNAL FILE FORMAT TextFileFormat WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR =',',USE_TYPE_DEFAULT = TRUE))
Nguyên nhân
Lỗi này gây hiểu lầm vì trông như lỗi cú pháp (syntactical error). Tuy nhiên, nó xảy ra khi bạn không bật đúng cách tính năng PolyBase.
Giải pháp
Tôi chạy truy vấn sau để khắc phục:
EXEC sp_configure 'polybase enabled', 1;
Go
Reconfigure
Việc chạy truy vấn Reconfigure là quan trọng. Khi bạn dùng sp_configure để thay đổi cấu hình hệ thống, bạn phải chạy Reconfigure để hoàn tất thay đổi.
Kết luận
Đó là tất cả cho các lỗi tôi gặp trong demo PolyBase và các giải pháp của chúng. Cảm ơn bạn đã đọc!
Tìm hiểu thêm về Dịch vụ Dữ liệu của chúng tôi.
Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể bắt đầu cuộc hội thoại với chúng tôi.