이전 블로그 게시물 'PolyBase를 활용한 통합 데이터 플랫폼과 데이터 가상화: 2부'에서 PolyBase를 이용한 데이터 가상화 데모를 소개한 바 있습니다.
외부 데이터 소스에서 데이터를 가져오는 SQL PolyBase 데모를 설정하는 과정에서 몇 가지 문제에 직면했는데, 다행히 빠르게 해결할 수 있었습니다. 같은 문제를 겪고 계신 분들에게도 도움이 되기를 바라며, 이번 글에서는 이러한 오류들을 한곳에 정리해 공유하고자 합니다. 그럼 시작해 보겠습니다.
첫 번째 문제
오류: 머신당 하나의 SQL Server 인스턴스에만 PolyBase를 설치할 수 있습니다.

그림 1 - 첫 번째 문제, 오류 화면
원인
이 오류 메시지는 이름 그대로 명확합니다. PolyBase는 여러 인스턴스가 공유할 수 없으며, 한 머신에서 두 개 이상의 인스턴스가 동시에 사용하는 것도 불가능합니다. 필자의 경우 이미 다른 인스턴스에 SQL PolyBase를 설치해 두었기 때문에 이 오류가 발생했습니다.
해결 방법
먼저 이전에 PolyBase를 설치했던 인스턴스에서 해당 기능을 제거해야 했습니다. 이후 SQL 설치 프로그램을 다시 실행하고 새 인스턴스에 PolyBase 기능을 선택해 설치하니 정상적으로 진행되었습니다.

그림 2 - 첫 번째 문제 해결
두 번째 문제
오류: HADOOP 유형의 외부 데이터 소스 지원이 활성화되어 있지 않습니다. 활성화하려면 'hadoop connectivity'를 원하는 값으로 설정하세요.
이 오류는 TYPE = HADOOP으로 외부 데이터 소스를 생성할 때 발생했습니다.

그림 3 - 두 번째 문제, 오류 화면
원인
시스템은 다음 두 가지 경우에 이 오류를 반환합니다:
- SQL Server 매개변수 Hadoop_connectivity를 원하는 값으로 설정하지 않은 경우
- 매개변수는 올바르게 설정했지만, 설정 후 SQL 서비스를 재시작하지 않은 경우 — 공식 문서에는 언급되어 있지 않지만 이 단계가 반드시 필요합니다.
다음 쿼리로 매개변수 값을 설정할 수 있습니다:
EXEC sp_configure @configname = 'hadoop connectivity', @configvalue = 7;
Go
Reconfigure
해결 방법
필자는 인스턴스의 매개변수 값을 점검한 뒤, 아래 이미지와 같이 올바르게 설정했습니다.

그림 4
공식 문서에는 SQL 서비스 재시작이 필요하다는 안내가 없었지만, 실제로 서비스를 재시작하니 문제가 해결되었습니다. 이후 PolyBase 데모 게시물의 3단계에 있는 Create External Data Source 쿼리를 다시 실행하니 정상적으로 작동했습니다.

그림 5 - 두 번째 문제 해결
세 번째 문제
오류: 'EXTERNAL' 근처의 구문이 잘못되었습니다
다음 쿼리로 외부 파일 형식을 생성할 때 이 오류가 발생했습니다:
CREATE EXTERNAL FILE FORMAT TextFileFormat WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (FIELD_TERMINATOR =',',USE_TYPE_DEFAULT = TRUE))
원인
이 오류는 구문 오류처럼 보여서 혼란스럽기 쉽습니다. 하지만 실제 원인은 PolyBase 기능이 제대로 활성화되지 않았기 때문입니다.
해결 방법
다음 쿼리를 실행해 문제를 해결했습니다:
EXEC sp_configure 'polybase enabled', 1;
Go
Reconfigure
여기서 Reconfigure 쿼리를 반드시 실행해야 한다는 점이 중요합니다. sp_configure로 시스템 구성을 변경한 후에는 Reconfigure를 실행해야 변경 사항이 최종 적용됩니다.
마무리
지금까지 PolyBase 데모 설정 과정에서 마주친 세 가지 오류와 각각의 해결 방법을 살펴보았습니다. 읽어 주셔서 감사합니다!
데이터 서비스에 대해 더 궁금하신 점이 있다면 관련 자료를 참고해 보세요.
피드백 탭을 통해 의견을 남기거나 질문할 수 있으며, 언제든지 저희와 대화를 시작하실 수 있습니다.