URI 이해

완료됨

로컬 디바이스 또는 클라우드 어딘가에 데이터를 저장할 수 있습니다. 데이터를 어디에 저장하든 기계 학습 모델을 학습할 때 데이터에 액세스하려고 합니다. Azure Machine Learning에서 데이터를 찾고 액세스하려면 URI(Uniform Resource Identifier)를 사용할 수 있습니다.

URI 이해

URI는 데이터의 위치를 참조합니다. Azure Machine Learning이 데이터에 연결하려면 적절한 프로토콜을 사용하여 URI 접두사를 지정해야 합니다. Azure Machine Learning의 컨텍스트에서 데이터로 작업할 때 다음과 같은 세 가지 일반적인 프로토콜이 있습니다.

Diagram of different types of protocols that Azure Machine Learning uses to connect to external data sources.

  • http(s): Azure Blob Storage 또는 공개적으로 사용 가능한 http(s) 위치에 공개 또는 비공개 데이터 저장소로 사용합니다.
  • abfs(s): Azure Data Lake Storage Gen 2의 데이터 저장소로 사용합니다.
  • azureml: 데이터 저장소에 저장된 데이터에 사용합니다.

예를 들어 Azure에서 Azure Blob Storage를 만들 수 있습니다. 데이터를 저장하려면 training-data라는 컨테이너를 만듭니다. 컨테이너 내에서 폴더 datastore-path를 만듭니다. 폴더 내에 CSV 파일 diabetes.csv을 저장합니다.

Screenshot of data stored in an Azure Blob Storage.

Azure Machine Learning 작업 영역에서 데이터에 액세스하려는 경우 폴더 또는 파일에 대한 경로를 직접 사용할 수 있습니다. 폴더 또는 파일에 직접 연결하려는 경우 http(s) 프로토콜을 사용할 수 있습니다. 컨테이너가 프라이빗으로 설정된 경우 SAS(공유 액세스 서명)와 같은 데이터에 액세스하기 위해 일종의 인증을 제공해야 합니다.

Azure Machine Learning에서 데이터 저장소를 만들 때 작업 영역에 연결 및 인증 정보를 저장합니다. 그런 다음, 컨테이너의 데이터에 액세스하려면 azureml 프로토콜을 사용할 수 있습니다.

데이터 저장소는 Azure의 기존 스토리지 계정에 대한 참조입니다. 따라서 데이터 저장소에 저장된 데이터를 참조할 때 Azure Blob Storage 또는 Azure Data Lake Storage에 저장되는 데이터를 참조할 수 있습니다. 그러나 데이터 저장소를 참조하는 경우 데이터 저장소와 함께 저장된 연결 정보가 Azure Machine Learning에서 사용되므로 인증할 필요가 없습니다.

코드에 인증 정보 같은 중요한 데이터를 피하는 것이 가장 좋은 사례로 간주됩니다. 따라서 가급적 Azure Machine Learning에서 데이터 저장소 및 데이터 자산을 사용해야 합니다. 그러나 Notebook에서 실험하는 동안 불필요한 오버헤드를 방지하기 위해 스토리지 위치에 직접 연결하는 것이 좋습니다.