데이터를 데이터베이스로 로드 - Amazon Redshift

데이터를 데이터베이스로 로드

쿼리 편집기 v2를 사용하여 Amazon Redshift 클러스터 또는 작업 그룹의 데이터베이스에 데이터를 로드할 수 있습니다.

샘플 데이터 로드

쿼리 편집기 v2는 샘플 데이터베이스 및 해당 스키마에 로드할 수 있는 샘플 데이터 및 노트북과 함께 제공됩니다.

샘플 데이터를 로드하려면 로드하려는 샘플 데이터와 연결된 External 아이콘을 선택합니다. 그런 다음 쿼리 편집기 v2는 데이터베이스 sample_data_dev의 스키마에 데이터를 로드하고 Notebooks(노트북) 폴더에 저장된 노트북 폴더를 만듭니다.

다음 샘플 데이터 세트를 사용할 수 있습니다.

tickit

Amazon Redshift 설명서에 나오는 예제에서는 대부분 tickit이라는 샘플 데이터를 사용합니다. 이 데이터는 팩트 테이블 2개와 차원 테이블 5개, 총 7개의 테이블로 구성되어 있습니다. 이 데이터를 로드하면 tickit 스키마가 샘플 데이터로 업데이트됩니다. tickit 데이터에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서샘플 데이터베이스를 참조하세요.

tpch

이 데이터는 의사 결정 지원 벤치마크에 사용됩니다. 이 데이터를 로드하면 tpch 스키마가 샘플 데이터로 업데이트됩니다. tpch 데이터에 대한 자세한 내용은 TPC-H를 참조하세요.

tpcds

이 데이터는 의사 결정 지원 벤치마크에 사용됩니다. 이 데이터를 로드하면 tpcds 스키마가 샘플 데이터로 업데이트됩니다. tpcds 데이터에 대한 자세한 내용은 TPC-DS를 참조하세요.

Amazon S3에서 데이터 로드

Amazon S3 데이터를 기존 테이블 또는 새로운 테이블로 로드할 수 있습니다.

기존 테이블에 데이터를 로드하려면

COPY 명령은 쿼리 편집기 v2가 Amazon S3에서 데이터를 로드하는 데 사용됩니다. 쿼리 편집기 v2 데이터 로드 마법사에서 생성되고 사용되는 COPY 명령은 Amazon S3에서 복사하기 위해 COPY 명령 구문에 사용할 수 있는 많은 파라미터를 지원합니다. COPY 명령 및 Amazon S3에서 데이터를 로드하는 데 사용되는 옵션에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서Amazon S3에서 COPY를 참조하세요.

  1. 데이터를 로드하려는 데이터베이스에 테이블이 이미 생성되었는지 확인합니다.

  2. 계속하기 전에 쿼리 에디터 v2의 트리 뷰 패널에서 대상 데이터베이스에 연결되어 있는지 확인합니다. 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 사용하여 데이터를 로드할 클러스터 또는 작업 그룹에 연결할 수 있습니다.

    Load데이터 로드(Load data)를 선택합니다.

  3. 데이터 소스에서 S3에서 로드를 선택합니다.

  4. S3 URI(S3 URIs)에서 S3 찾아보기(Browse S3)를 선택하여 로드할 데이터가 들어 있는 Amazon S3 버킷을 찾습니다.

  5. 지정된 Amazon S3 버킷이 대상 테이블과 동일한 AWS 리전에 있지 않은 경우 데이터가 있는 AWS 리전에 대한 S3 file location(S3 파일 위치)을 선택합니다.

  6. Amazon S3 파일이 실제로 여러 Amazon S3 버킷 URI를 포함하는 매니페스트인 경우 이 파일은 매니페스트 파일임(This file is a manifest file)을 선택합니다.

  7. 업로드할 파일의 파일 형식(File format)을 선택합니다. 지원되는 데이터 형식은 CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET 및 ORC입니다. 지정된 파일 형식에 따라 해당 파일 옵션(File options)을 선택할 수 있습니다. 데이터가 암호화된 경우 데이터가 암호화됨(Data is encrypted)을 선택하고 데이터 암호화에 사용된 KMS 키의 Amazon 리소스 이름(ARN)을 입력할 수도 있습니다.

    CSV 또는 DELIMITER를 선택하면 구분자 문자를 선택하고, 지정한 수의 행이 실제로 열 이름이고 로드할 데이터가 아닌 경우 헤더 행을 무시할지 여부도 선택할 수 있습니다.

  8. 파일을 압축할 압축 방법을 선택합니다. 기본값은 압축 안 함(no compression)입니다.

  9. (선택 사항) 고급 설정(Advanced settings)은 다양한 데이터 변환 파라미터(Data conversion parameters)로드 작업(Load operations)을 지원합니다. 파일에 필요한 대로 이 정보를 입력합니다.

    데이터 변환 및 데이터 로드 파라미터에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서데이터 변환 파라미터데이터 로드 작업을 참조하세요.

  10. Next(다음)를 선택합니다.

  11. 기존 테이블 로드를 선택합니다.

  12. 데이터가 로드되는 클러스터 또는 작업 그룹, 데이터베이스, 스키마테이블 이름을 포함한 대상 테이블(Target table)의 위치를 확인하거나 선택합니다.

  13. Amazon S3에서 데이터를 로드하는 데 필요한 권한이 있는 IAM 역할을 선택합니다.

  14. (선택 사항) 열 이름을 선택하여 Column mapping(열 매핑)에 이름을 입력하면 입력 데이터 파일의 순서대로 열이 매핑됩니다.

  15. 데이터 로드(Load data)를 선택하여 데이터 로드를 시작합니다.

    로드가 완료되면 데이터를 로드하는 데 사용된 생성된 COPY 명령과 함께 쿼리 편집기가 표시됩니다. COPY의 결과(Result)가 표시됩니다. 성공하면 이제 SQL을 사용하여 로드된 테이블에서 데이터를 선택할 수 있습니다. 오류가 발생하면 시스템 보기 STL_LOAD_ERRORS를 쿼리하여 자세한 내용을 확인합니다. COPY 명령 오류에 대한 내용은 Amazon Redshift Database 개발자 안내서STL_LOAD_ERRORS를 참조하세요.

새 테이블에 데이터를 로드하면 쿼리 에디터 v2가 먼저 데이터베이스에 테이블을 생성한 다음 동일한 워크플로우에서 별도의 작업으로 데이터를 로드합니다.

새로운 테이블에 데이터 로드

COPY 명령은 쿼리 편집기 v2가 Amazon S3에서 데이터를 로드하는 데 사용됩니다. 쿼리 편집기 v2 데이터 로드 마법사에서 생성되고 사용되는 COPY 명령은 Amazon S3에서 복사하기 위해 COPY 명령 구문에 사용할 수 있는 많은 파라미터를 지원합니다. COPY 명령 및 Amazon S3에서 데이터를 로드하는 데 사용되는 옵션에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서Amazon S3에서 COPY를 참조하세요.

  1. 계속하기 전에 쿼리 에디터 v2의 트리 뷰 패널에서 대상 데이터베이스에 연결되어 있는지 확인합니다. 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 사용하여 데이터를 로드할 클러스터 또는 작업 그룹에 연결할 수 있습니다.

    Load데이터 로드(Load data)를 선택합니다.

  2. 데이터 소스에서 S3에서 로드를 선택합니다.

  3. S3 URI(S3 URIs)에서 S3 찾아보기(Browse S3)를 선택하여 로드할 데이터가 들어 있는 Amazon S3 버킷을 찾습니다.

  4. 지정된 Amazon S3 버킷이 대상 테이블과 동일한 AWS 리전에 있지 않은 경우 데이터가 있는 AWS 리전에 대한 S3 file location(S3 파일 위치)을 선택합니다.

  5. Amazon S3 파일이 실제로 여러 Amazon S3 버킷 URI를 포함하는 매니페스트인 경우 이 파일은 매니페스트 파일임(This file is a manifest file)을 선택합니다.

  6. 업로드할 파일의 파일 형식(File format)을 선택합니다. 지원되는 데이터 형식은 CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET 및 ORC입니다. 지정된 파일 형식에 따라 해당 파일 옵션(File options)을 선택할 수 있습니다. 데이터가 암호화된 경우 데이터가 암호화됨(Data is encrypted)을 선택하고 데이터 암호화에 사용된 KMS 키의 Amazon 리소스 이름(ARN)을 입력할 수도 있습니다.

    CSV 또는 DELIMITER를 선택하면 구분자 문자를 선택하고, 지정한 수의 행이 실제로 열 이름이고 로드할 데이터가 아닌 경우 헤더 행을 무시할지 여부도 선택할 수 있습니다.

  7. 파일을 압축할 압축 방법을 선택합니다. 기본값은 압축 안 함(no compression)입니다.

  8. (선택 사항) 고급 설정(Advanced settings)은 다양한 데이터 변환 파라미터(Data conversion parameters)로드 작업(Load operations)을 지원합니다. 파일에 필요한 대로 이 정보를 입력합니다.

    데이터 변환 및 데이터 로드 파라미터에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서데이터 변환 파라미터데이터 로드 작업을 참조하세요.

  9. Next(다음)를 선택합니다.

  10. 새 테이블 로드를 선택합니다.

    테이블 열은 입력 데이터에서 추론됩니다. 열 및 테이블 세부 정보를 추가하여 테이블 스키마의 정의를 수정할 수 있습니다. 쿼리 에디터 v2 추론 테이블 스키마로 되돌리려면 기본값으로 복원을 선택합니다.

  11. 데이터가 로드되는 클러스터 또는 작업 그룹, 데이터베이스스키마를 포함한 대상 테이블의 위치를 확인하거나 선택합니다. 생성할 테이블 이름을 입력합니다.

  12. Amazon S3에서 데이터를 로드하는 데 필요한 권한이 있는 IAM 역할을 선택합니다.

  13. 테이블 생성을 선택하여 표시된 정의를 사용해 테이블을 생성합니다.

    테이블 정의의 검토 요약이 표시됩니다. 데이터베이스에서 테이블이 생성됩니다. 나중에 테이블을 삭제하려면 DROP TABLE SQL 명령을 실행합니다. 자세한 내용은 Amazon Redshift Database 개발자 안내서DROP TABLE을 참조하세요.

  14. 데이터 로드(Load data)를 선택하여 데이터 로드를 시작합니다.

    로드가 완료되면 데이터를 로드하는 데 사용된 생성된 COPY 명령과 함께 쿼리 편집기가 표시됩니다. COPY의 결과(Result)가 표시됩니다. 성공하면 이제 SQL을 사용하여 로드된 테이블에서 데이터를 선택할 수 있습니다. 오류가 발생하면 시스템 보기 STL_LOAD_ERRORS를 쿼리하여 자세한 내용을 확인합니다. COPY 명령 오류에 대한 내용은 Amazon Redshift Database 개발자 안내서STL_LOAD_ERRORS를 참조하세요.

로컬 파일 설정 및 워크플로우에서 데이터 로드

로컬 파일의 데이터를 기존 테이블 또는 새로운 테이블로 로드할 수 있습니다.

로컬 파일의 데이터를 로드하기 위한 관리자 설정

쿼리 편집기 v2 관리자는 Account settings(계정 설정) 창에서 공통 Amazon S3 버킷을 지정해야 합니다. 계정 사용자는 적절한 권한을 이용해 구성해야 합니다.

  • 필수 IAM 권한 - 로컬 파일에서 로드하는 사용자는 s3:ListBucket, s3:GetBucketLocation, s3:putObject, s3:getObjects3:deleteObject 권한이 있어야 합니다. optional-prefix를 지정하면 쿼리 편집기 v2와 관련한 이 버킷의 사용을 이 접두사를 가진 객체로 제한할 수 있습니다. 동일한 Amazon S3 버킷을 쿼리 편집기 v2 이외의 용도로 사용할 때 이 옵션을 사용할 수 있습니다. 버킷과 접두사에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서특정 폴더에 대한 사용자 액세스 관리를 참조하세요. 사용자 간 데이터 액세스를 허용하지 않게 하려면, 쿼리 에디터 v2 관리자가 Amazon S3 버킷 정책을 사용하여 aws:userid를 기준으로 객체 액세스를 제한하는 것이 좋습니다. 다음 예에서는 aws:userid 접두사가 있는 Amazon S3 객체에 대해서만 읽기/쓰기 액세스 권한이 있는 <staging-bucket-name>에 대한 Amazon S3 권한을 허용합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<staging-bucket-name>" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*" ] } ] }
  • 데이터 분리 - 사용자가 다른 사용자의 데이터에 (잠깐이라도) 액세스할 수 없도록 하는 것이 좋습니다. 로컬 파일에서 로드할 때는 쿼리 편집기 v2 관리자가 설정한 스테이징 Amazon S3 버킷을 사용합니다. 스테이징 버킷의 버킷 정책을 구성하여 사용자 간에 데이터를 분리합니다. 다음 예제는 <staging-bucket-name>의 사용자 간에 데이터를 분리하는 버킷 정책을 보여줍니다.

    { "Version": "2012-10-17", "Statement": [ {"Sid": "userIdPolicy", "Effect": "Deny", "Principal": "*", "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"], "NotResource": [ "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*" ] } ] }

로컬 파일의 데이터 로드

기존 테이블에 로컬 파일 데이터를 로드하려면

쿼리 에디터 v2 관리자는 계정 설정 창에서 공통 Amazon S3 버킷을 지정해야 합니다. 쿼리 에디터 v2는 계정에서 사용하는 공통 Amazon S3 버킷에 로컬 파일을 자동으로 업로드하고, 이후 COPY 명령을 사용하여 데이터를 로드합니다. 쿼리 편집기 v2 로컬 파일 로드 창에서 생성하고 사용하는 COPY 명령은 Amazon S3에서 복사하기 위해 COPY 명령 구문에 사용할 수 있는 많은 파라미터를 지원합니다. COPY 명령 및 Amazon S3에서 데이터를 로드하는 데 사용되는 옵션에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서Amazon S3에서 COPY를 참조하세요.

  1. 데이터를 로드하려는 데이터베이스에 테이블이 이미 생성되었는지 확인합니다.

  2. 쿼리 편집기 v2의 트리 뷰 패널에서 대상 데이터베이스에 연결되어 있는지 확인합니다. 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 사용하여 데이터를 로드할 클러스터 또는 작업 그룹에 연결할 수 있습니다.

  3. Load데이터 로드(Load data)를 선택합니다.

  4. Data source(데이터 소스)에서 Load from local file(로컬 파일에서 로드)을 선택합니다.

  5. 찾아보기를 선택하여 데이터가 포함된 파일을 찾은 다음 파일 로드를 선택합니다. 기본적으로 확장자가 .csv, .avro .parquet.orc인 파일이 표시되지만 다른 파일 유형을 선택할 수 있습니다. 최대 파일 크기는 100MB입니다.

  6. 업로드할 파일의 파일 형식(File format)을 선택합니다. 지원되는 데이터 형식은 CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET 및 ORC입니다. 지정된 파일 형식에 따라 해당 파일 옵션(File options)을 선택할 수 있습니다. 데이터가 암호화된 경우 데이터가 암호화됨(Data is encrypted)을 선택하고 데이터 암호화에 사용된 KMS 키의 Amazon 리소스 이름(ARN)을 입력할 수도 있습니다.

    CSV 또는 DELIMITER를 선택하면 구분자 문자를 선택하고, 지정한 수의 행이 실제로 열 이름이고 로드할 데이터가 아닌 경우 헤더 행을 무시할지 여부도 선택할 수 있습니다.

  7. (선택 사항) 고급 설정(Advanced settings)은 다양한 데이터 변환 파라미터(Data conversion parameters)로드 작업(Load operations)을 지원합니다. 파일에 필요한 대로 이 정보를 입력합니다.

    데이터 변환 및 데이터 로드 파라미터에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서데이터 변환 파라미터데이터 로드 작업을 참조하세요.

  8. Next(다음)를 선택합니다.

  9. 기존 테이블 로드를 선택합니다.

  10. 데이터가 로드되는 클러스터 또는 작업 그룹, 데이터베이스, 스키마테이블 이름을 포함한 대상 테이블(Target table)의 위치를 확인하거나 선택합니다.

  11. (선택 사항) 열 이름을 선택하여 Column mapping(열 매핑)에 입력하면 입력 데이터 파일의 순서대로 열이 매핑됩니다.

  12. 데이터 로드(Load data)를 선택하여 데이터 로드를 시작합니다.

    로드가 완료되면 로드 성공 여부를 알리는 메시지가 표시됩니다. 성공하면 이제 SQL을 사용하여 로드된 테이블에서 데이터를 선택할 수 있습니다. 오류가 발생하면 시스템 보기 STL_LOAD_ERRORS를 쿼리하여 자세한 내용을 확인합니다. COPY 명령 오류에 대한 내용은 Amazon Redshift Database 개발자 안내서STL_LOAD_ERRORS를 참조하세요.

    데이터를 로드하는 데 사용한 COPY 명령 템플릿이 Query history(쿼리 기록)에 나타납니다. 이 COPY 명령 템플릿은 사용한 파라미터 중 일부를 표시하지만 편집기 탭에서 직접 실행할 수는 없습니다. 쿼리 기록에 대한 자세한 내용은 쿼리 및 탭 기록 보기 단원을 참조하십시오.

새 테이블에 데이터를 로드하면 쿼리 에디터 v2가 먼저 데이터베이스에 테이블을 생성한 다음 동일한 워크플로우에서 별도의 작업으로 데이터를 로드합니다.

새로운 테이블에 로컬 파일 데이터 로드

쿼리 편집기 v2 관리자는 Account settings(계정 설정) 창에서 공통 Amazon S3 버킷을 지정해야 합니다. 로컬 파일은 계정에서 사용하는 공통 Amazon S3 버킷에 자동으로 업로드되고, 이후 쿼리 편집기 v2에서 COPY 명령을 사용하여 데이터를 로드합니다. 쿼리 편집기 v2 로컬 파일 로드 창에서 생성하고 사용하는 COPY 명령은 Amazon S3에서 복사하기 위해 COPY 명령 구문에 사용할 수 있는 많은 파라미터를 지원합니다. COPY 명령 및 Amazon S3에서 데이터를 로드하는 데 사용되는 옵션에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서Amazon S3에서 COPY를 참조하세요.

  1. 쿼리 편집기 v2의 트리 뷰 패널에서 대상 데이터베이스에 연결되어 있는지 확인합니다. 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 사용하여 데이터를 로드할 클러스터 또는 작업 그룹에 연결할 수 있습니다.

  2. Load데이터 로드(Load data)를 선택합니다.

  3. Data source(데이터 소스)에서 Load from local file(로컬 파일에서 로드)을 선택합니다.

  4. 찾아보기를 선택하여 데이터가 포함된 파일을 찾은 다음 파일 로드를 선택합니다. 기본적으로 확장자가 .csv, .avro .parquet.orc인 파일이 표시되지만 다른 파일 유형을 선택할 수 있습니다. 최대 파일 크기는 100MB입니다.

  5. 업로드할 파일의 파일 형식(File format)을 선택합니다. 지원되는 데이터 형식은 CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET 및 ORC입니다. 지정된 파일 형식에 따라 해당 파일 옵션(File options)을 선택할 수 있습니다. 데이터가 암호화된 경우 데이터가 암호화됨(Data is encrypted)을 선택하고 데이터 암호화에 사용된 KMS 키의 Amazon 리소스 이름(ARN)을 입력할 수도 있습니다.

    CSV 또는 DELIMITER를 선택하면 구분자 문자를 선택하고, 지정한 수의 행이 실제로 열 이름이고 로드할 데이터가 아닌 경우 헤더 행을 무시할지 여부도 선택할 수 있습니다.

  6. (선택 사항) 고급 설정(Advanced settings)은 다양한 데이터 변환 파라미터(Data conversion parameters)로드 작업(Load operations)을 지원합니다. 파일에 필요한 대로 이 정보를 입력합니다.

    데이터 변환 및 데이터 로드 파라미터에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서데이터 변환 파라미터데이터 로드 작업을 참조하세요.

  7. Next(다음)를 선택합니다.

  8. 새 테이블 로드를 선택합니다.

  9. 데이터가 로드되는 클러스터 또는 작업 그룹, 데이터베이스스키마를 포함한 대상 테이블의 위치를 확인하거나 선택합니다. 생성할 테이블 이름을 입력합니다.

  10. 테이블 생성을 선택하여 표시된 정의를 사용해 테이블을 생성합니다.

    테이블 정의의 검토 요약이 표시됩니다. 데이터베이스에서 테이블이 생성됩니다. 나중에 테이블을 삭제하려면 DROP TABLE SQL 명령을 실행합니다. 자세한 내용은 Amazon Redshift Database 개발자 안내서DROP TABLE을 참조하세요.

  11. 데이터 로드(Load data)를 선택하여 데이터 로드를 시작합니다.

    로드가 완료되면 로드 성공 여부를 알리는 메시지가 표시됩니다. 성공하면 이제 SQL을 사용하여 로드된 테이블에서 데이터를 선택할 수 있습니다. 오류가 발생하면 시스템 보기 STL_LOAD_ERRORS를 쿼리하여 자세한 내용을 확인합니다. COPY 명령 오류에 대한 내용은 Amazon Redshift Database 개발자 안내서STL_LOAD_ERRORS를 참조하세요.

    데이터를 로드하는 데 사용한 COPY 명령 템플릿이 Query history(쿼리 기록)에 나타납니다. 이 COPY 명령 템플릿은 사용한 파라미터 중 일부를 표시하지만 편집기 탭에서 직접 실행할 수는 없습니다. 쿼리 기록에 대한 자세한 내용은 쿼리 및 탭 기록 보기 단원을 참조하십시오.