다음을 통해 공유


Azure Storage Blob에서 Azure Data Lake Storage Gen1로 데이터 복사

Data Lake Storage Gen1은 다음 원본에서 데이터를 복사하는 명령줄 도구인 AdlCopy를 제공합니다.

  • Azure Storage Blob에서 Data Lake Storage Gen1로. AdlCopy를 사용하여 Data Lake Storage Gen1에서 Azure Storage Blob으로 데이터를 복사할 수 없습니다.
  • 두 Data Lake Storage Gen1 계정 간에.

또한 다음과 같은 두 가지 모드에서 AdlCopy 도구를 사용할 수 있습니다.

  • 독립 실행형. 여기서 도구는 Data Lake Storage Gen1 리소스를 사용하여 작업을 수행합니다.
  • Data Lake Analytics 계정에 할당된 단위가 복사 작업을 수행하는 데 사용되는 Data Lake Analytics 계정사용합니다. 예측 가능한 방식으로 복사 작업을 수행하려는 경우 이 옵션을 사용할 수 있습니다.

필수 조건

이 문서를 시작하기 전에 다음 항목이 있어야 합니다.

  • Azure 구독. Azure 평가판을 참조하세요.
  • 일부 데이터를 포함하는 Azure Storage Blob 컨테이너 .
  • Data Lake Storage Gen1 계정. 계정을 만드는 방법에 대한 지침은 Azure Data Lake Storage Gen1 시작을 참조하세요.
  • Data Lake Analytics 계정(선택 사항) - Data Lake Analytics 계정을 만드는 방법에 대한 지침은 Azure Data Lake Analytics 시작하기 참조하세요.
  • AdlCopy 도구. AdlCopy 도구를 설치합니다.

AdlCopy 도구 구문

AdlCopy 도구를 사용하려면 다음 구문을 사용합니다.

AdlCopy /Source <Blob or Data Lake Storage Gen1 source> /Dest <Data Lake Storage Gen1 destination> /SourceKey <Key for Blob account> /Account <Data Lake Analytics account> /Units <Number of Analytics units> /Pattern

구문의 매개 변수는 아래에 설명되어 있습니다.

옵션 설명
출처 Azure Storage Blob에서 원본 데이터의 위치를 지정합니다. 원본은 블롭 컨테이너, 블롭 또는 다른 Data Lake Storage Gen1 계정일 수 있습니다.
Dest 복사할 Data Lake Storage Gen1 대상을 지정합니다.
SourceKey Azure Storage Blob 원본에 대한 스토리지 액세스 키를 지정합니다. 원본이 Blob 컨테이너 또는 Blob인 경우에만 필요합니다.
어카운트 선택 사항입니다. Azure Data Lake Analytics 계정을 사용하여 복사 작업을 실행하려는 경우 이를 사용합니다. 구문에서 /Account 옵션을 사용하지만 Data Lake Analytics 계정을 지정하지 않는 경우 AdlCopy는 기본 계정을 사용하여 작업을 실행합니다. 또한 이 옵션을 사용하는 경우 원본(Azure Storage Blob) 및 대상(Azure Data Lake Storage Gen1)을 Data Lake Analytics 계정의 데이터 원본으로 추가해야 합니다.
단위 복사 작업에 사용할 Data Lake Analytics 단위 수를 지정합니다. 이 옵션은 /Account 옵션을 사용하여 Data Lake Analytics 계정을 지정하는 경우 필수입니다.
패턴 복사할 Blob 또는 파일을 나타내는 regex 패턴을 지정합니다. AdlCopy는 대소문자를 구분하여 일치시킵니다. 패턴이 지정되지 않은 경우 기본 패턴은 모든 항목을 복사하는 것입니다. 여러 파일 패턴을 지정하는 것은 지원되지 않습니다.

AdlCopy를 독립 실행형으로 사용하여 Azure Storage Blob에서 데이터 복사

  1. 명령 프롬프트를 열고 일반적으로 %HOMEPATH%\Documents\adlcopyAdlCopy가 설치된 디렉터리로 이동합니다.

  2. 다음 명령을 실행하여 원본 컨테이너에서 Data Lake Storage Gen1 폴더로 특정 Blob을 복사합니다.

    AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>
    

    다음은 그 예입니다.

    AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/WebsiteLogSampleData/SampleLog/909f2b.log /dest swebhdfs://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
    

    비고

    위의 구문은 Data Lake Storage Gen1 계정의 폴더에 복사할 파일을 지정합니다. 지정된 폴더 이름이 없으면 AdlCopy 도구에서 폴더를 만듭니다.

    Data Lake Storage Gen1 계정이 있는 Azure 구독에 대한 자격 증명을 입력하라는 메시지가 표시됩니다. 다음과 유사한 출력이 표시됩니다.

    Initializing Copy.
    Copy Started.
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. 다음 명령을 사용하여 한 컨테이너의 모든 Blob을 Data Lake Storage Gen1 계정으로 복사할 수도 있습니다.

    AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/ /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>  
    

    다음은 그 예입니다.

    AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
    

성능 고려 사항

Azure Blob Storage 계정에서 복사할 때 Blob Storage 측에서 복사 중에 제한되는 경우가 있습니다. 이렇게 하면 복사 작업의 성능이 저하됩니다. Azure Blob Storage의 제한에 대한 자세한 내용은 Azure 구독 및 서비스 제한Azure Storage 제한을 참조하세요.

AdlCopy를 독립 실행형으로 사용하여 다른 Data Lake Storage Gen1 계정에서 데이터 복사

AdlCopy를 사용하여 두 Data Lake Storage Gen1 계정 간에 데이터를 복사할 수도 있습니다.

  1. 명령 프롬프트를 열고 일반적으로 %HOMEPATH%\Documents\adlcopyAdlCopy가 설치된 디렉터리로 이동합니다.

  2. 다음 명령을 실행하여 한 Data Lake Storage Gen1 계정에서 다른 계정으로 특정 파일을 복사합니다.

    AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/
    

    다음은 그 예입니다.

    AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
    

    비고

    위의 구문은 대상 Data Lake Storage Gen1 계정의 폴더에 복사할 파일을 지정합니다. 지정된 폴더 이름이 없으면 AdlCopy 도구에서 폴더를 만듭니다.

    Data Lake Storage Gen1 계정이 있는 Azure 구독에 대한 자격 증명을 입력하라는 메시지가 표시됩니다. 다음과 유사한 출력이 표시됩니다.

    Initializing Copy.
    Copy Started.|
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. 다음 명령은 원본 Data Lake Storage Gen1 계정의 특정 폴더에서 대상 Data Lake Storage Gen1 계정의 폴더로 모든 파일을 복사합니다.

    AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
    

성능 고려 사항

AdlCopy를 독립 실행형 도구로 사용하는 경우 복사본은 공유 Azure 관리 리소스에서 실행됩니다. 이 환경에서 얻을 수 있는 성능은 시스템 부하 및 사용 가능한 리소스에 따라 달라집니다. 이 모드는 임시로 작은 전송에 가장 적합합니다. AdlCopy를 독립 실행형 도구로 사용할 때는 매개 변수를 조정할 필요가 없습니다.

AdlCopy(Data Lake Analytics 계정 포함)를 사용하여 데이터 복사

Data Lake Analytics 계정을 사용하여 AdlCopy 작업을 실행하여 Azure Storage Blob에서 Data Lake Storage Gen1로 데이터를 복사할 수도 있습니다. 이동하려는 데이터가 기가바이트 및 테라바이트 범위에 있고 더 나은 예측 가능한 성능 처리량을 원하는 경우 일반적으로 이 옵션을 사용합니다.

AdlCopy와 함께 Data Lake Analytics 계정을 사용하여 Azure Storage Blob에서 복사하려면 원본(Azure Storage Blob)을 Data Lake Analytics 계정의 데이터 원본으로 추가해야 합니다. Data Lake Analytics 계정에 추가 데이터 원본을 추가하는 방법에 대한 지침은 Data Lake Analytics 계정 데이터 원본 관리참조하세요.

비고

Data Lake Analytics 계정을 사용하여 Azure Data Lake Storage Gen1 계정에서 원본으로 복사하는 경우 Data Lake Storage Gen1 계정을 Data Lake Analytics 계정과 연결할 필요가 없습니다. 원본 저장소를 Data Lake Analytics 계정과 연결하기 위한 요구 사항은 원본이 Azure Storage 계정인 경우에만 수행됩니다.

다음 명령을 실행하여 Data Lake Analytics 계정을 사용하여 Azure Storage Blob에서 Data Lake Storage Gen1 계정으로 복사합니다.

AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Account <data_lake_analytics_account> /Units <number_of_data_lake_analytics_units_to_be_used>

다음은 그 예입니다.

AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest swebhdfs://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Account mydatalakeanalyticaccount /Units 2

마찬가지로 다음 명령을 실행하여 Data Lake Analytics 계정을 사용하여 원본 Data Lake Storage Gen1 계정의 특정 폴더에서 대상 Data Lake Storage Gen1 계정의 폴더로 모든 파일을 복사합니다.

AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2

성능 고려 사항

테라바이트 범위의 데이터를 복사할 때 사용자 고유의 Azure Data Lake Analytics 계정으로 AdlCopy를 사용하면 더 나은 예측 가능한 성능을 제공합니다. 튜닝해야 하는 매개 변수는 복사 작업에 사용할 Azure Data Lake Analytics 단위의 수입니다. 단위 수를 늘리면 복사 작업의 성능이 향상됩니다. 복사할 각 파일은 최대 1개의 단위를 사용할 수 있습니다. 복사되는 파일 수보다 많은 단위를 지정해도 성능이 향상되지 않습니다.

AdlCopy를 사용하여 패턴 일치를 사용하여 데이터 복사

이 섹션에서는 AdlCopy를 사용하여 패턴 일치를 사용하여 원본(아래 예제에서는 Azure Storage Blob 사용)에서 대상 Data Lake Storage Gen1 계정으로 데이터를 복사하는 방법을 알아봅니다. 예를 들어 아래 단계를 사용하여 원본 Blob에서 대상으로 .csv 확장이 있는 모든 파일을 복사할 수 있습니다.

  1. 명령 프롬프트를 열고 일반적으로 %HOMEPATH%\Documents\adlcopyAdlCopy가 설치된 디렉터리로 이동합니다.

  2. 다음 명령을 실행하여 원본 컨테이너의 특정 Blob에서 Data Lake Storage Gen1 폴더로 *.csv 확장명을 가진 모든 파일을 복사합니다.

    AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Pattern *.csv
    

    다음은 그 예입니다.

    AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
    

청구서 발행

  • AdlCopy 도구를 독립 실행형으로 사용하는 경우 원본 Azure Storage 계정이 Data Lake Storage Gen1 계정과 동일한 지역에 있지 않은 경우 데이터 이동에 대한 송신 비용이 청구됩니다.
  • Data Lake Analytics 계정과 함께 AdlCopy 도구를 사용하는 경우 표준 Data Lake Analytics 청구 요금 적용됩니다.

AdlCopy 사용에 대한 고려 사항

  • AdlCopy(버전 1.0.5의 경우)는 수천 개 이상의 파일 및 폴더가 있는 원본의 데이터 복사를 지원합니다. 그러나 큰 데이터 세트를 복사하는 데 문제가 발생하는 경우 파일/폴더를 다른 하위 폴더에 배포하고 해당 하위 폴더의 경로를 원본으로 대신 사용할 수 있습니다.

AdlCopy 사용에 대한 성능 고려 사항

AdlCopy는 수천 개의 파일 및 폴더가 포함된 데이터 복사를 지원합니다. 그러나 큰 데이터 세트를 복사하는 데 문제가 발생하는 경우 파일/폴더를 더 작은 하위 폴더로 배포할 수 있습니다. AdlCopy는 임시 복사본을 위해 빌드되었습니다. 반복적으로 데이터를 복사하려는 경우 복사 작업에 대한 전체 관리를 제공하는 Azure Data Factory 사용하는 것이 좋습니다.

릴리스 정보

  • 1.0.13 - 여러 adlcopy 명령에서 동일한 Azure Data Lake Storage Gen1 계정에 데이터를 복사하는 경우 각 실행에 대해 자격 증명을 더 이상 다시 입력할 필요가 없습니다. 이제 Adlcopy는 여러 실행에서 해당 정보를 캐시합니다.

다음 단계