SQL Server — СОЗДАНИЕ ВНЕШНЕГО ФОРМАТА ФАЙЛА для запроса файлов Parquet через Polybase — сбой из-за ошибки TCP

#sql-server #parquet #sql-server-2019 #polybase

#sql-сервер #parquet #sql-server-2019 #polybase

Вопрос:

Контекст: я пытаюсь использовать Polybase SQL Server для запроса данных в файлах parquet. Одним из шагов, необходимых для этого, является создание внешнего формата файла, который сопоставляется с parquet. MSDN предоставляет образец SQL ниже.

 CREATE EXTERNAL FILE FORMAT parquet_file_format
WITH (  
FORMAT_TYPE = PARQUET,  
--DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.GzipCodec'
);  
  

Когда я его выполняю, я получаю следующую ошибку.

Поставщик OLE DB «MSOLEDBSQL» для связанного сервера «(null)» вернул сообщение «Истек срок ожидания входа». Поставщик OLE DB «MSOLEDBSQL» для связанного сервера «(null)» вернул сообщение «При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Проверьте, правильно ли указано имя экземпляра и настроен ли SQL Server для разрешения удаленных подключений. Дополнительные сведения см. В Онлайн-книгах по SQL Server. «. Msg 10061, уровень 16, состояние 1, строка 40 Поставщик TCP: не удалось установить соединение, поскольку целевая машина активно отказалась от него.

Я попытался включить сетевой протокол TCP

введите описание изображения здесь

а также попытался настроить параметр конфигурации сервера удаленного доступа, ни один из которых не устраняет ошибку.

 EXEC sp_configure 'remote access', 0 ;  
GO  
RECONFIGURE ;  
GO
  

Вопрос: Может кто-нибудь указать мне правильное направление или сказать, что я делаю не так?

Ответ №1:

Оказывается, проблема заключалась в том, что службы Polybase не были запущены. Я смог запустить их в диспетчере конфигурации sql server в разделе конфигурация сети sql server. Это было полезно: https://www.sqlservercentral.com/forums/topic/polybase-syntax-error