데이터 가져오기 및 데이터 내보내기 모듈을 사용하는 Azure Machine Learning Studio(클래식) 웹 서비스 배포Deploy Azure Machine Learning Studio (classic) web services that use Data Import and Data Export modules

적용 대상: 적용 대상:Machine Learning Studio(클래식) 적용되지 않는 대상:Azure Machine LearningAPPLIES TO: Applies to.Machine Learning Studio (classic) Does not apply to.Azure Machine Learning

예측 실험을 만들 때 일반적으로 웹 서비스 입력 및 출력을 추가합니다.When you create a predictive experiment, you typically add a web service input and output. 실험을 배포하면 소비자는 입력 및 출력을 통해 웹 서비스에서 데이터를 보내고 받을 수 있습니다.When you deploy the experiment, consumers can send and receive data from the web service through the inputs and outputs. Microsoft Azure 가상 머신 및 클라우드 서비스는 탑재된 공유를 통해 여러 애플리케이션 구성 요소에서 파일 데이터를 공유할 수 있으며 온-프레미스 애플리케이션은 File Storage API 또는 Azure PowerShell을 통해 공유의 파일 데이터에 액세스할 수 있습니다.For some applications, a consumer's data may be available from a data feed or already reside in an external data source such as Azure Blob storage. 이러한 경우 웹 서비스 입력 및 출력을 사용하여 데이터를 읽고 쓸 필요가 없습니다.In these cases, they do not need read and write data using web service inputs and outputs. 대신, BES(Batch 실행 서비스)를 사용하여 데이터 가져오기 모듈을 통해 데이터 원본에서 데이터를 읽고, 데이터 내보내기 모듈을 통해 다른 데이터 위치에 점수 매기기 결과를 쓸 수 있습니다.They can, instead, use the Batch Execution Service (BES) to read data from the data source using an Import Data module and write the scoring results to a different data location using an Export Data module.

데이터 가져오기 및 데이터 내보내기 모듈은 HTTP를 통한 웹 URL, Hive 쿼리, Azure SQL Database, Azure Table Storage, Azure Blob Storage 내 데이터베이스, 데이터 피드 또는 SQL Server 데이터베이스 등의 다양한 데이터 위치에서 읽고 쓸 수 있습니다.The Import Data and Export data modules, can read from and write to various data locations such as a Web URL via HTTP, a Hive Query, a database in Azure SQL Database, Azure Table storage, Azure Blob storage, a Data Feed provide, or a SQL Server database.

이 항목에서는 "샘플 5: 이진 분류에 대한 학습, 테스트, 평가: 성인 데이터 세트" 샘플을 사용하고 데이터 세트가 censusdata라는 Azure SQL 테이블로 이미 로드되었다고 가정합니다.This topic uses the "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" sample and assumes the dataset has already been loaded into an Azure SQL table named censusdata.

학습 실험 만들기Create the training experiment

"샘플 5: 이진 분류에 대한 학습, 테스트, 평가: 성인 데이터 세트" 샘플을 여는 경우 샘플 성인 인구 조사 소득 이진 분류 데이터 세트를 사용합니다.When you open the "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" sample it uses the sample Adult Census Income Binary Classification dataset. 또한 캔버스의 실험은 다음 이미지와 비슷합니다.And the experiment in the canvas will look similar to the following image:

실험의 초기 구성입니다.

Azure SQL 테이블에서 데이터를 읽으려면To read the data from the Azure SQL table:

  1. 데이터 세트 모듈을 삭제합니다.Delete the dataset module.

  2. 구성 요소 검색 상자에 가져오기를 입력합니다.In the components search box, type import.

  3. 결과 목록에서 데이터 가져오기 모듈을 실험 캔버스에 추가합니다.From the results list, add an Import Data module to the experiment canvas.

  4. 데이터 가져오기 모듈의 출력을 누락 데이터 정리 모듈의 입력에 연결합니다.Connect output of the Import Data module the input of the Clean Missing Data module.

  5. 속성 창의 데이터 원본 드롭다운에서 Azure SQL Database 를 선택합니다.In properties pane, select Azure SQL Database in the Data Source dropdown.

  6. 데이터베이스 서버 이름, 데이터베이스 이름, 사용자 이름암호 필드에 데이터베이스에 대한 적절한 정보를 입력합니다.In the Database server name, Database name, User name, and Password fields, enter the appropriate information for your database.

  7. 데이터베이스 쿼리 필드에 다음 쿼리를 입력합니다.In the Database query field, enter the following query.

     select [age],
        [workclass],
        [fnlwgt],
        [education],
        [education-num],
        [marital-status],
        [occupation],
        [relationship],
        [race],
        [sex],
        [capital-gain],
        [capital-loss],
        [hours-per-week],
        [native-country],
        [income]
     from dbo.censusdata;
    
  8. 실험 캔버스 맨 아래에서 실행 을 클릭합니다.At the bottom of the experiment canvas, click Run.

예측 실험 만들기Create the predictive experiment

다음에는 웹 서비스를 배포할 예측 실험을 설정합니다.Next you set up the predictive experiment from which you deploy your web service.

  1. 실험 캔버스 맨 아래에서 웹 서비스 설정 을 클릭하고 예측 웹 서비스[권장] 를 선택합니다.At the bottom of the experiment canvas, click Set Up Web Service and select Predictive Web Service [Recommended].
  2. 예측 실험에서 웹 서비스 입력웹 서비스 출력 모듈 을 제거합니다.Remove the Web Service Input and Web Service Output modules from the predictive experiment.
  3. 구성 요소 검색 상자에 내보내기를 입력합니다.In the components search box, type export.
  4. 결과 목록에서 데이터 내보내기 모듈을 실험 캔버스에 추가합니다.From the results list, add an Export Data module to the experiment canvas.
  5. 모델 점수 매기기 모듈의 출력을 데이터 내보내기 모듈의 입력에 연결합니다.Connect output of the Score Model module the input of the Export Data module.
  6. 속성 창의 데이터 대상 드롭다운에서 Azure SQL Database 를 선택합니다.In properties pane, select Azure SQL Database in the data destination dropdown.
  7. 데이터베이스 서버 이름, 데이터베이스 이름, 서버 사용자 계정 이름서버 사용자 계정 암호 필드에 데이터베이스에 대한 적절한 정보를 입력합니다.In the Database server name, Database name, Server user account name, and Server user account password fields, enter the appropriate information for your database.
  8. 쉼표로 구분된 저장할 열 목록 필드에 점수가 매겨진 레이블을 입력합니다.In the Comma separated list of columns to be saved field, type Scored Labels.
  9. 데이터 테이블 이름 필드 에 dbo.ScoredLabels를 입력합니다.In the Data table name field, type dbo.ScoredLabels. 이 테이블이 없으면 실험을 실행하거나 웹 서비스를 호출할 때 만들어집니다.If the table does not exist, it is created when the experiment is run or the web service is called.
  10. 쉼표로 구분된 데이터베이스 열 목록 필드에 점수가 매겨진 레이블을 입력합니다.In the Comma separated list of datatable columns field, type ScoredLabels.

최종 웹 서비스를 호출하는 애플리케이션을 작성하는 경우 런타임에 다른 입력 쿼리 또는 대상 테이블을 지정할 수 있습니다.When you write an application that calls the final web service, you may want to specify a different input query or destination table at run time. 이러한 입력 및 출력을 구성하려면 웹 서비스 매개 변수 기능을 사용하여 데이터 가져오기 모듈 데이터 원본 속성 및 데이터 내보내기 모드 데이터 대상 속성을 설정합니다.To configure these inputs and outputs, use the Web Service Parameters feature to set the Import Data module Data source property and the Export Data mode data destination property. 웹 서비스 매개 변수에 대한 자세한 내용은 Cortana Intelligence 및 Machine Learning 블로그에서 Azure Machine Learning Studio Web Service Parameters entry(Azure Machine Learning Studio 웹 서비스 매개 변수 항목)를 참조하세요.For more information on Web Service Parameters, see the Azure Machine Learning Studio Web Service Parameters entry on the Cortana Intelligence and Machine Learning Blog.

가져오기 쿼리 및 대상 테이블에 대한 웹 서비스 매개 변수를 구성하려면To configure the Web Service Parameters for the import query and the destination table:

  1. 데이터 가져오기 모듈에 대한 속성 창에서 데이터베이스 쿼리 필드 오른쪽 위에 있는 아이콘을 클릭하고 웹 서비스 매개 변수로 설정 을 선택합니다.In the properties pane for the Import Data module, click the icon at the top right of the Database query field and select Set as web service parameter.
  2. 데이터 내보내기 모듈에 대한 속성 창에서 데이터 테이블 이름 필드 오른쪽 위에 있는 아이콘을 클릭하고 웹 서비스 매개 변수로 설정 을 선택합니다.In the properties pane for the Export Data module, click the icon at the top right of the Data table name field and select Set as web service parameter.
  3. 데이터 내보내기 모듈 속성 창 아래쪽의 웹 서비스 매개 변수 섹션에서 데이터베이스 쿼리를 클릭하고 이름을 쿼리로 바꿉니다.At the bottom of the Export Data module properties pane, in the Web Service Parameters section, click Database query and rename it Query.
  4. 데이터 테이블 이름 을 클릭하고 이름을 테이블 로 바꿉니다.Click Data table name and rename it Table.

완료되면 실험은 다음 이미지와 비슷하게 표시됩니다.When you are done, your experiment should look similar to the following image:

실험의 최종 모습입니다.

이제 실험을 웹 서비스로 배포할 수 있습니다.Now you can deploy the experiment as a web service.

웹 서비스 배포Deploy the web service

기존 또는 새 웹 서비스로 배포할 수 있습니다.You can deploy to either a Classic or New web service.

기존 웹 서비스 배포Deploy a Classic Web Service

기존 웹 서비스로 배포하고 해당 서비스를 사용하기 위한 애플리케이션을 만들려면To deploy as a Classic Web Service and create an application to consume it:

  1. 실험 캔버스 맨 아래에서 실행을 클릭합니다.At the bottom of the experiment canvas, click Run.

  2. 실행이 완료되면 웹 서비스 배포 를 클릭하고 웹 서비스 배포[클래식] 를 선택합니다.When the run has completed, click Deploy Web Service and select Deploy Web Service [Classic].

  3. 웹 서비스 대시보드에서 API 키를 찾습니다.On the web service dashboard, locate your API key. 나중에 사용할 수 있게 복사한 다음 저장합니다.Copy and save it to use later.

  4. 기본 엔드포인트 테이블에서 Batch 실행 링크를 클릭하여 API 도움말 페이지를 엽니다.In the Default Endpoint table, click the Batch Execution link to open the API Help Page.

  5. Visual Studio에서 C# 콘솔 애플리케이션을 만듭니다. 새로 만들기 > 프로젝트 > Visual C# > Windows 클래식 데스크톱 > 콘솔 앱(.NET Framework)In Visual Studio, create a C# console application: New > Project > Visual C# > Windows Classic Desktop > Console App (.NET Framework).

  6. API 도움말 페이지 맨 아래에서 샘플 코드 섹션을 찾습니다.On the API Help Page, find the Sample Code section at the bottom of the page.

  7. 를 스토리지 계정의 이름으로 바꾸고 을 File Storage 공유의 이름으로 바꿉니다.Copy and paste the C# sample code into your Program.cs file, and remove all references to the blob storage.

  8. apiKey 변수의 값을 이전에 저장된 API 키로 업데이트합니다.Update the value of the apiKey variable with the API key saved earlier.

  9. 요청 선언을 찾고 데이터 가져오기데이터 내보내기 모듈에 전달되는 웹 서비스 매개 변수 값을 업데이트합니다.Locate the request declaration and update the values of Web Service Parameters that are passed to the Import Data and Export Data modules. 이 경우 원래 쿼리를 사용하지만 새 테이블 이름을 정의합니다.In this case, you use the original query, but define a new table name.

    var request = new BatchExecutionRequest()
    {
        GlobalParameters = new Dictionary<string, string>() {
            { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
            { "Table", "dbo.ScoredTable2" },
        }
    };
    
  10. 애플리케이션을 실행합니다.Run the application.

실행이 완료되면 새 테이블이 점수 매기기 결과를 포함하는 데이터베이스에 추가됩니다.On completion of the run, a new table is added to the database containing the scoring results.

새 웹 서비스 배포Deploy a New Web Service

참고

새 웹 서비스를 배포하려면 웹 서비스를 배포하려는 구독에 충분한 권한이 있어야 합니다.To deploy a New web service you must have sufficient permissions in the subscription to which you deploying the web service. 자세한 내용은 Azure Machine Learning 웹 서비스 포털에서 웹 서비스 관리를 참조하세요.For more information, see Manage a Web service using the Azure Machine Learning Web Services portal.

새 웹 서비스로 배포하고 해당 서비스를 사용하기 위한 애플리케이션을 만들려면To deploy as a New Web Service and create an application to consume it:

  1. 실험 캔버스 맨 아래에서 실행 을 클릭합니다.At the bottom of the experiment canvas, click Run.

  2. 실행이 완료되면 웹 서비스 배포 를 클릭하고 웹 서비스 배포[신규] 를 선택합니다.When the run has completed, click Deploy Web Service and select Deploy Web Service [New].

  3. 실험 배포 페이지에서 웹 서비스의 이름을 입력하고 가격 책정 계획을 선택한 후 배포 를 클릭합니다.On the Deploy Experiment page, enter a name for your web service, and select a pricing plan, then click Deploy.

  4. 빠른 시작 페이지에서 사용 을 클릭합니다.On the Quickstart page, click Consume.

  5. 샘플 코드 섹션에서 Batch 를 클릭합니다.In the Sample Code section, click Batch.

  6. Visual Studio에서 C# 콘솔 애플리케이션을 만듭니다. 새로 만들기 > 프로젝트 > Visual C# > Windows 클래식 데스크톱 > 콘솔 앱(.NET Framework)In Visual Studio, create a C# console application: New > Project > Visual C# > Windows Classic Desktop > Console App (.NET Framework).

  7. C# 샘플 코드를 복사하고 Program.cs 파일에 붙여 넣습니다.Copy and paste the C# sample code into your Program.cs file.

  8. apiKey 변수 값을 기본 사용량 정보 섹션에 있는 기본 키 로 업데이트합니다.Update the value of the apiKey variable with the Primary Key located in the Basic consumption info section.

  9. scoreRequest 선언을 찾고 데이터 가져오기데이터 내보내기 모듈에 전달되는 웹 서비스 매개 변수 값을 업데이트합니다.Locate the scoreRequest declaration and update the values of Web Service Parameters that are passed to the Import Data and Export Data modules. 이 경우 원래 쿼리를 사용하지만 새 테이블 이름을 정의합니다.In this case, you use the original query, but define a new table name.

    var scoreRequest = new
    {
        Inputs = new Dictionary<string, StringTable>()
        {
        },
        GlobalParameters = new Dictionary<string, string>() {
            { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
            { "Table", "dbo.ScoredTable3" },
        }
    };
    
  10. 애플리케이션을 실행합니다.Run the application.