Azure SQL Database에서 가져오기

이 문서에서는 Azure Machine Learning Studio (클래식)의 데이터 가져오기 모듈을 사용 하 여 Azure SQL Database 또는 Azure SQL Data Warehouse에서 데이터를 가져오는 방법을 설명 합니다.

참고

적용 대상: Machine Learning Studio (클래식)

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

데이터베이스에서 데이터를 가져오려면 서버 이름과 데이터베이스 이름을 모두 지정 하 고 테이블, 뷰 또는 쿼리를 정의 하는 SQL 문을 지정 해야 합니다.

일반적으로 azure 데이터베이스에 데이터를 저장 하는 것은 Azure에서 테이블이 나 blob을 사용 하는 것 보다 비용이 많이 듭니다. 또한 구독 유형에 따라 데이터베이스에 저장할 수 있는 데이터의 양에 제한이 있을 수 있습니다. 그러나 SQL Azure 데이터베이스에 대 한 트랜잭션 요금은 없으므로이 옵션은 데이터 조회 테이블 또는 데이터 사전과 같은 더 적은 양의 자주 사용 되는 정보에 빠르게 액세스 하는 데 적합 합니다.

데이터를 읽기 전에 필터링 해야 하거나, 보고를 위해 예측 또는 메트릭을 데이터베이스에 다시 저장 하려는 경우에는 Azure 데이터베이스에 데이터를 저장 하는 것도 좋습니다.

Azure SQL Database 또는 SQL Data Warehouse에서 데이터를 가져오는 방법

데이터 가져오기 마법사 사용

이 모듈에는 저장소 옵션을 선택 하 고, 기존 구독과 계정 중에서 선택 하 고, 모든 옵션을 신속 하 게 구성 하는 데 도움이 되는 새로운 마법사 기능이 있습니다.

  1. 데이터 가져오기 모듈을 실험에 추가 합니다. 데이터 입력 및 출력 범주의 Studio (클래식)에서 모듈을 찾을 수 있습니다.

  2. 데이터 가져오기 마법사 시작 을 클릭 하 고 프롬프트를 따릅니다.

  3. 구성이 완료 되 면 실제로 데이터를 실험으로 복사 하려면 모듈을 마우스 오른쪽 단추로 클릭 하 고 선택 된 실행 을 선택 합니다.

기존 데이터 연결을 편집 해야 하는 경우 마법사에서 모든 이전 구성 세부 정보를 로드 하므로 처음부터 다시 시작할 필요가 없습니다.

데이터 가져오기 모듈에서 수동으로 속성 설정

다음 단계에서는 가져오기 원본을 수동으로 구성 하는 방법을 설명 합니다.

  1. 데이터 가져오기 모듈을 실험에 추가 합니다. 데이터 입력 및 출력 범주의 Studio (클래식)에서이 모듈을 찾을 수 있습니다.

  2. 데이터 원본 에 대해 Azure SQL Database 를 선택 합니다.

  3. Azure SQL Database 또는 Azure SQL Data Warehouse와 관련 된 다음 옵션을 설정 합니다.

    데이터베이스 서버 이름: Azure에서 생성 된 서버 이름을 입력 합니다. 일반적으로 <generated_identifier>.database.windows.net 형식을 사용합니다.

    데이터베이스 이름: 방금 지정한 서버에 있는 기존 데이터베이스의 이름을 입력 합니다.

    서버 사용자 계정 이름: 데이터베이스에 대 한 액세스 권한이 있는 계정의 사용자 이름을 입력 합니다.

    서버 사용자 계정 암호: 지정 된 사용자 계정에 대 한 암호를 제공 합니다.

    데이터베이스 쿼리: 읽을 데이터를 설명 하는 SQL 문을 입력 하거나 붙여 넣습니다. Visual Studio 서버 탐색기 또는 SQL Server Data Tools와 같은 도구를 사용 하 여 항상 SQL 문의 유효성을 검사 하 고 쿼리 결과를 확인 합니다.

    참고

    데이터 가져오기 모듈은 자격 증명으로 데이터베이스 이름, 사용자 계정 이름 및 암호를 입력 하는 것만 지원 합니다.

  4. Azure Machine Learning으로 읽어 온 데이터 집합이 실험 실행 사이에서 변경 될 것으로 예상 되지 않는 경우 캐시 된 결과 사용 옵션을 선택 합니다.

    이를 선택 하면 모듈 매개 변수에 대 한 다른 변경 내용이 없는 경우 실험은 모듈이 처음 실행 될 때 데이터를 로드 하 고 이후에 캐시 된 버전의 데이터 집합을 사용 합니다.

    실험을 반복할 때마다 데이터 집합을 다시 로드 하려면이 옵션을 선택 취소 합니다. 데이터 가져오기에서 매개 변수가 변경 될 때마다 데이터 집합이 원본에서 다시 로드 됩니다.

  5. 실험을 실행합니다.

    데이터 가져오기 는 데이터를 Studio (클래식)로 로드 하므로 원본 데이터베이스에 사용 되는 데이터 형식에 따라 일부 암시적 형식 변환이 수행 될 수도 있습니다.

결과

가져오기가 완료 되 면 출력 데이터 집합을 클릭 하 고 시각화 를 선택 하 여 데이터를 성공적으로 가져왔는지 확인 합니다.

필요에 따라 스튜디오 (클래식)의 도구를 사용 하 여 데이터 집합 및 메타 데이터를 변경할 수 있습니다.

  • 메타 데이터 편집 을 사용 하 여 열 이름을 변경 하거나, 열을 다른 데이터 형식으로 변환 하거나, 레이블이나 기능 열을 표시 합니다.

  • 데이터 집합의 열 선택 을 사용 하 여 열의 하위 집합을 선택 합니다.

  • 파티션 및 샘플 을 사용 하 여 데이터 집합을 기준으로 구분 하거나 상위 n 개 행을 가져옵니다.

예제

Machine learning에서 Azure 데이터베이스의 데이터를 사용 하는 방법에 대 한 예제는 다음 문서 및 실험을 참조 하세요.

기술 정보

이 섹션에는 구현 세부 정보, 팁 및 질문과 대답 (faq)이 포함 되어 있습니다.

일반적인 질문

원본에서 읽을 때 데이터를 필터링 할 수 있나요?

데이터 가져오기 모듈은 데이터를 읽는 동안 필터링을 지원 하지 않습니다. 뷰를 만들거나 필요한 행만 생성 하는 쿼리를 정의 하는 것이 좋습니다.

참고

필요 이상으로 많은 데이터를 로드한 경우 새 데이터 집합을 읽은 다음 더 오래되고 크기가 큰 데이터와 같은 이름으로 저장하여 캐시된 데이터 집합을 덮어쓸 수 있습니다.

"Decimal 형식이 지원 되지 않습니다." 라는 오류 메시지가 표시 되는 이유는 무엇 인가요?

SQL database에서 데이터를 읽을 때 지원 되지 않는 데이터 형식을 보고 하는 오류 메시지가 나타날 수 있습니다.

SQL 데이터베이스에서 가져온 데이터에 Azure Machine Learning에서 지원 되지 않는 데이터 형식이 포함 된 경우 데이터를 읽기 전에 10 진수를 지원 되는 데이터로 캐스팅 하거나 변환 해야 합니다. 데이터 가져오기 는 전체 자릿수가 손실 될 수 있는 변환을 자동으로 수행할 수 없습니다.

지원 되는 데이터 형식에 대 한 자세한 내용은 모듈 데이터 형식을 참조 하세요.

데이터베이스가 다른 지역에 있으면 어떻게 되나요? 데이터베이스에 계속 액세스할 수 있나요? 데이터는 어디에 저장되나요?

데이터베이스가 machine learning 계정과 다른 지역에 있는 경우 데이터 액세스 속도가 느려질 수 있습니다. 또한 계산 노드가 저장소 계정과 다른 지역에 있는 경우 구독에서 데이터 수신 및 송신에 대 한 요금이 청구 됩니다.

실험을 위해 작업 영역으로 읽어 온 데이터는 실험에 연결 된 저장소 계정에 저장 됩니다.

일부 문자가 올바르게 표시 되지 않는 이유는 무엇 인가요?

Azure Machine Learning UTF-8 인코딩을 지원 합니다. 데이터베이스의 문자열 열에서 다른 인코딩을 사용 하는 경우에는 문자를 제대로 가져올 수 없습니다.

한 가지 옵션은 데이터를 Azure storage의 CSV 파일로 내보내고, 인코딩을 포함 하는 csv 옵션을 사용 하 여 사용자 지정 구분 기호, 코드 페이지 등에 대 한 매개 변수를 지정 하는 것입니다.

모듈 매개 변수

Name 범위 Type 기본값 설명
데이터 원본 목록 데이터 원본 또는 싱크 Azure Blob Storage 데이터 원본에는 HTTP, FTP, 익명 HTTPS 또는 FTPS, Azure BLOB 저장소의 파일, Azure 테이블, Azure SQL Database, 온-프레미스 SQL Server 데이터베이스, Hive 테이블 또는 OData 끝점이 있을 수 있습니다.
HDFS 서버 URI any String 없음 HDFS rest 끝점
데이터베이스 서버 이름 any String 없음 Azure Storage 계정 이름
데이터베이스 이름 any SecureString 없음 Azure Storage 키
서버 사용자 계정 이름 any String 없음 Azure 컨테이너 이름
서버 사용자 계정 이름 목록(하위 집합) Url 내용 OData 데이터 형식 유형
데이터베이스 쿼리 any String 없음 데이터 형식 유형
캐시 된 결과 사용 TRUE/FALSE 부울 FALSE description

출력

Name Type 설명
결과 데이터 집합 데이터 테이블 다운로드한 데이터가 포함된 데이터 집합입니다.

예외

예외 설명
오류 0027 두 개체의 크기가 같아야 하지만 다른 경우 예외가 발생합니다.
오류 0003 입력 중 하나 이상이 null이거나 비어 있으면 예외가 발생합니다.
오류 0029 잘못된 URI가 전달되면 예외가 발생합니다.
오류 0030 파일을 다운로드할 수 없으면 예외가 발생합니다.
오류 0002 하나 이상의 매개 변수를 구문 분석할 수 없거나 지정된 형식을 대상 방법에 필요한 형식으로 변환할 수 없으면 예외가 발생합니다.
오류 0009 Azure 저장소 계정 이름 또는 컨테이너 이름을 잘못 지정하는 경우 예외가 발생합니다.
오류 0048 파일을 열 수 없으면 예외가 발생합니다.
오류 0015 데이터베이스 연결에 실패하면 예외가 발생합니다.
오류 0046 지정한 경로에 디렉터리를 만들 수 없으면 예외가 발생합니다.
오류 0049 파일을 구문 분석할 수 없으면 예외가 발생합니다.

스튜디오 (클래식) 모듈과 관련 된 오류 목록은 Machine Learning 오류 코드를 참조 하세요.

API 예외 목록은 Machine Learning REST API 오류 코드를 참조 하세요.

참고 항목

데이터 가져오기
데이터 내보내기
HTTP를 통해 웹 URL에서 가져오기
Hive 쿼리에서 가져오기
Azure 테이블에서 가져오기
Azure Blob Storage에서 가져오기
데이터 피드 공급자에서 가져오기
온-프레미스 SQL Server 데이터베이스에서 가져오기