0

CREATE EXTERNAL TABLE xyz ....FROM LOCATION "dbo.xyz"SELECT * FROM ExternalDataSource EXECUTE @"SELECT a,b,c FROM dbo.xyz WHERE DATALENGTH(a)<128000"으로 외부 Azure Sql Db에서 읽기를 시도하고 행 크기가 너무 큽니다. 원격 데이터 원본의 행은 4194304 바이트보다 깁니다.) 오류가 발생했습니다. 이 값보다 큰 행을 찾으려고하면 Jaime의 대답 here에 영감을받은 쿼리가 결과를 나타내지 않습니다.Azure Data Lake 외부 데이터 원본 : 행 크기가 너무 큽니다.

원격 쿼리를 실행하여 행 크기를 4MB 미만으로 줄이고 큰 문자열을 사용하여 128KB 미만의 데이터 길이를 가져 오는 행을 제한하려고 시도했지만 여전히 동일한 오류가 발생합니다.

Azure Data Lake가 수용 할 수있는 행 집합을 제한하기 위해 SQL Db 측에서 원격 쿼리를 실행하면 괜찮 았지만 그렇게 느껴지지 않았습니다. 적용 할 수있는 합리적인 해결 방법이 있습니까?

건배!

답변

0

먼저 원격 EXECUTE 예제를 사용해도 오류가 발생합니까?

두 번째로, ExternalDataSource에 설정 한 REMOTABLE_TYPES은 무엇입니까?

셋째, 추가 조사를 위해 직장에 대한 링크를 보내 주시는 것이 가장 좋습니다. Microsoft에서 usql (at)을 통해 문의하십시오.

+0

감사합니다. Michael! 원격 실행 예제에서도 동일한 결과가 나타납니다. REMOTABLE_TYPES (bool, byte, sbyte, short, ushort, int, uint, long, ulong, decimal, float, double, string, DateTime) 작업 URL에서 특정 오류를 검색 할 수있는 방법이 있습니까? 너 정보. 너무 많아서 그걸 찾는데 꽤 오래 걸릴 수도 있습니다. – chi

+0

Visual Studio에서 작업 목록을 간단한 쿼리 인터페이스로 탐색 할 수 있다고 생각합니다 (특정 오류를 확인할 수있는 쉬운 방법을 제공하지는 못합니다). 또는 Powershell SDK를 사용하여 프로그래밍 방식의 열거 형을 작성할 수 있습니다. 이것은 확실히 조사하고 싶은 문제인 것처럼 보입니다. 그렇지 않으면 repro 스크립트 (SQLDB에서 일부 테스트 데이터를 생성하기위한 T-SQL 스크립트를 작성한 다음 repro U-SQL 스크립트를 제공 할 수 있으므로 재 작성도 시도 할 수 있음)를 제공 할 수 있습니다. –