

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 데이터 소스 및 출력에 지원되는 연결
<a name="supported-data-connection-sources"></a>

DataBrew 레시피 작업에 대해 다음 데이터 소스에 연결할 수 있습니다. 여기에는 DataBrew에 직접 업로드하는 파일이 아닌 모든 데이터 소스가 포함됩니다. 사용 중인 데이터 소스를 데이터베이스, 데이터 웨어하우스 또는 기타 데이터 소스라고 할 수 있습니다. 모든 데이터 공급자를 데이터 소스 또는 연결이라고 합니다.

다음 중 하나를 데이터 소스로 사용하여 데이터 세트를 생성할 수 있습니다.

Amazon RDS를 통해 지원되는 Amazon S3 AWS Glue Data Catalog또는 JDBC 데이터베이스를 사용하여 DataBrew 레시피 작업을 출력할 수도 있습니다. Amazon AppFlow 및AWS Data Exchange는 DataBrew 레시피 작업의 출력에 대해 지원되지 않습니다.
+ **Amazon S3**

  S3를 사용하여 원하는 양의 데이터를 저장하고 보호할 수 있습니다. 데이터 세트를 생성하려면 DataBrew가 데이터 파일에 액세스할 수 있는 S3 URL을 지정합니다. 예를 들면 다음과 같습니다. `s3://your-bucket-name/inventory-data.csv` 

  DataBrew는 S3 폴더의 모든 파일을 읽을 수도 있습니다. 즉, 여러 파일에 걸쳐 있는 데이터 세트를 생성할 수 있습니다. 이렇게 하려면 형식으로 S3 URL을 지정합니다`s3://your-bucket-name/your-folder-name/`.

   DataBrew는 Standard, Reduced Redundancy, Standard-IA 및 Amazon S3 S3 스토리지 클래스만 지원합니다. DataBrew는 다른 스토리지 클래스가 있는 파일을 무시합니다. 또한 DataBrew는 빈 파일(0바이트를 포함하는 파일)을 무시합니다. Amazon S3 스토리지 클래스에 대한 자세한 내용은 [ Amazon S3 콘솔 사용 설명서의 Amazon S3 스토리지 클래스 사용을](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) 참조하세요. *Amazon S3 * 
+ **AWS Glue Data Catalog**

  데이터 카탈로그를 사용하여AWS클라우드에 저장된 데이터에 대한 참조를 정의할 수 있습니다. 데이터 카탈로그를 사용하면 다음 서비스의 개별 테이블에 대한 연결을 구축할 수 있습니다.
  + 데이터 카탈로그 Amazon S3
  + 데이터 카탈로그 Amazon Redshift
  + 데이터 카탈로그 Amazon RDS
  + AWS Glue

  DataBrew는 Amazon S3 폴더의 모든 파일을 읽을 수도 있습니다. 즉, 여러 파일에 걸쳐 있는 데이터 세트를 생성할 수 있습니다. 이렇게 하려면 다음 형식으로 Amazon S3 URL을 지정합니다. `s3://your-bucket-name/your-folder-name/` 

  DataBrew와 함께 사용하려면에 정의된 Amazon S3 테이블에AWS Glue Data Catalog라는 테이블 속성이 추가되어 있어야 합니다. `classification`이 속성은 데이터 형식을 `csv`, `json`또는 로`parquet`,를 `typeOfData`로 식별합니다`file`. 테이블이 생성될 때 테이블 속성이 추가되지 않은 경우AWS Glue콘솔을 사용하여 추가할 수 있습니다.

   DataBrew는 Amazon S3 스토리지 클래스 Standard, Reduced Redundancy, Standard-IA 및 S3 One Zone-IA만 지원합니다. DataBrew는 다른 스토리지 클래스가 있는 파일을 무시합니다. 또한 DataBrew는 빈 파일(0바이트를 포함하는 파일)을 무시합니다. Amazon S3 스토리지 클래스에 대한 자세한 내용은 [ Amazon S3 콘솔 사용 설명서의 Amazon S3 스토리지 클래스 사용을](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) 참조하세요. *Amazon S3 * 

  적절한 리소스 정책이 생성된 경우 DataBrew는 다른 계정의AWS Glue Data Catalog S3 테이블에 액세스할 수도 있습니다. 콘솔의AWS Glue**설정** 탭에 있는 **데이터 카탈로그**에서 정책을 생성할 수 있습니다. 다음은 단일에 대한 정책의 예입니다AWS 리전.
**주의**  
이는의 데이터 카탈로그에 `*$ACCOUNT_TO*` 대한 무제한 액세스 권한을 부여하는 매우 허용적인 리소스 정책입니다`*$ACCOUNT_FROM*`. 대부분의 경우 리소스 정책을 특정 카탈로그 또는 테이블로 잠그는 것이 좋습니다. 자세한 내용은 *AWS Glue개발자 안내서*의 [AWS Glue액세스 제어를 위한 리소스 정책을](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html) 참조하세요.

  경우에 따라 프로젝트를 생성하거나AWS Glue DataBrew에 있는 S3 위치를 `*$ACCOUNT_FROM*` 가리키는의AWS Glue Data Catalog S3 테이블`*$ACCOUNT_TO*`을 사용하여에서 작업을 실행할 수 있습니다`*$ACCOUNT_FROM*`. 이러한 경우에서 프로젝트 및 작업을 생성할 때 사용되는 IAM 역할에는에서 해당 S3 위치에 객체를 나열하고 가져올 수 있는 권한이 `*$ACCOUNT_TO*` 있어야 합니다`*$ACCOUNT_FROM*`. 자세한 내용은 *AWS Glue개발자 안내서*의 [교차 계정 액세스 권한 부여](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html)를 참조하세요.
+ **JDBC 드라이버를 사용하여 연결된 데이터**

  지원되는 JDBC 드라이버를 사용하여 데이터에 연결하여 데이터 세트를 생성할 수 있습니다. 자세한 내용은 [에서 드라이버 사용AWS Glue DataBrew](dbms-driver-connections.md) 단원을 참조하십시오.

  DataBrew는 Java Database Connectivity(JDBC)를 사용하여 다음 데이터 소스를 공식적으로 지원합니다.
  + Microsoft SQL Server
  + MySQL
  + Oracle
  + PostgreSQL
  + Amazon Redshift
  + Spark용 Snowflake 커넥터

  데이터 소스는 DataBrew에서 연결할 수 있는 위치에 위치할 수 있습니다. 이 목록에는 테스트한 JDBC 연결만 포함되어 있으므로 지원할 수 있습니다.

  Spark 데이터 소스용 Amazon Redshift 및 Snowflake 커넥터는 다음 방법 중 하나로 연결할 수 있습니다.
  + 테이블 이름을 사용합니다.
  + 여러 테이블 및 작업에 걸쳐 있는 SQL 쿼리를 사용합니다.

  SQL 쿼리는 프로젝트 또는 작업 실행을 시작할 때 실행됩니다.

  목록에 없는 JDBC 드라이버가 필요한 데이터에 연결하려면 드라이버가 JDK 8과 호환되는지 확인합니다. 드라이버를 사용하려면 DataBrew에 대한 IAM 역할을 사용하여 드라이버에 액세스할 수 있는 버킷의 S3에 저장합니다. 그런 다음 데이터세트가 드라이버 파일을 가리키도록 합니다. 자세한 내용은 [에서 드라이버 사용AWS Glue DataBrew](dbms-driver-connections.md) 단원을 참조하십시오.

  SQL 기반 데이터 세트에 대한 쿼리 예제:

  ```
  SELECT
      * 
  FROM
      public.customer as c 
  JOIN
      public.customer_address as ca on c.current_address=ca.current_address
  WHERE
      ca.address_id>0 AND ca.address_id<10001 ORDER BY ca.address_id
  ```

  **사용자 지정 SQL의 제한 사항**

  JDBC 연결을 사용하여 DataBrew 데이터 세트에 대한 데이터에 액세스하는 경우 다음 사항에 유의하세요.
  + AWS Glue DataBrew는 데이터 세트 생성의 일부로 제공하는 사용자 지정 SQL을 검증하지 않습니다. SQL 쿼리는 프로젝트 또는 작업 실행을 시작할 때 실행됩니다. DataBrew는 사용자가 제공한 쿼리를 가져와 기본 또는 제공된 JDBC 드라이버를 사용하여 데이터베이스 엔진에 전달합니다.
  + 잘못된 쿼리로 생성된 데이터 세트는 프로젝트 또는 작업에 사용될 때 실패합니다. 데이터 세트를 생성하기 전에 쿼리를 검증합니다.
  + **SQL 검증** 기능은 Amazon Redshift 기반 데이터 소스에서만 사용할 수 있습니다.
  + 프로젝트에서 데이터 세트를 사용하려면 프로젝트 로드 중에 제한 시간이 발생하지 않도록 SQL 쿼리 런타임을 3분 미만으로 제한합니다. 프로젝트를 생성하기 전에 쿼리 런타임을 확인합니다.
+ **Amazon AppFlow**

  Amazon AppFlow를 사용하면 Salesforce, Zendesk, Slack, ServiceNow와 같은 타사 Software-as-a-Service(SaaS) 애플리케이션에서 Amazon S3로 데이터를 전송할 수 있습니다. 그런 다음 데이터를 사용하여 DataBrew 데이터 세트를 생성할 수 있습니다.

  Amazon AppFlow에서는 타사 애플리케이션과 대상 애플리케이션 간에 데이터를 전송하는 연결 및 흐름을 생성합니다. DataBrew와 함께 Amazon AppFlow를 사용하는 경우 Amazon AppFlow 대상 애플리케이션이 Amazon S3인지 확인합니다. Amazon S3 이외의 Amazon AppFlow 대상 애플리케이션은 DataBrew 콘솔에 표시되지 않습니다. 타사 애플리케이션에서 데이터를 전송하고 Amazon AppFlow 연결 및 흐름을 생성하는 방법에 대한 자세한 내용은 [Amazon AppFlow 설명서를](https://docs.aws.amazon.com/appflow/index.html) 참조하세요.

  DataBrew의 데이터 세트 탭에서 **새** **데이터 세트** 연결을 선택하고 Amazon AppFlow를 클릭하면 Amazon S3로 구성된 Amazon AppFlow의 모든 흐름이 대상 애플리케이션으로 표시됩니다. 데이터 세트에 흐름의 데이터를 사용하려면 해당 흐름을 선택합니다.

   DataBrew 콘솔에서 Amazon AppFlow에 대한 **흐름 생성**, **흐름 관리** 및 **세부 정보 보기를** 선택하면 해당 작업을 수행할 수 있도록 Amazon AppFlow 콘솔이 열립니다.

  Amazon AppFlow에서 데이터 세트를 생성한 후 데이터 세트 세부 정보 또는 작업 세부 정보를 볼 때 흐름을 실행하고 가장 최근의 흐름 실행 세부 정보를 볼 수 있습니다. DataBrew에서 흐름을 실행하면 데이터 세트가 S3에서 업데이트되고 DataBrew에서 사용할 준비가 됩니다.

  DataBrew 콘솔에서 Amazon AppFlow 흐름을 선택하여 데이터 세트를 생성할 때 다음과 같은 상황이 발생할 수 있습니다.
  + **데이터가 집계되지 않음** - 흐름 트리거가 온**디맨드 실행** 또는 전체 데이터 전송으로 **일정에 따라 실행**인 경우 DataBrew 데이터 세트를 생성하기 전에 흐름에 대한 데이터를 집계해야 합니다. 흐름을 집계하면 흐름의 모든 레코드가 단일 파일로 결합됩니다. 트리거 유형이 증분 데이터 전송으로 **일정에 따라 실행** 또는 **이벤트에서 실행**인 흐름은 집계가 필요하지 않습니다. Amazon AppFlow에서 데이터를 집계하려면 **흐름 구성 편집** > **대상 세부 정보** > **추가 설정** > **데이터 전송 기본** 설정을 선택합니다.
  + **흐름이 실행되지 않음** - 흐름의 실행 상태가 비어 있는 경우 다음 중 하나를 의미합니다.
    + 흐름 실행 트리거가 ** 온디맨드 실행**인 경우 흐름이 아직 실행되지 않은 것입니다.
    + 흐름 실행을 위한 트리거가 ** 이벤트에서 실행**이면 트리거 이벤트가 아직 발생하지 않은 것입니다.
    + 흐름 실행 트리거가 **일정에 따라 실행**인 경우 예약된 실행이 아직 발생하지 않은 것입니다.

    흐름이 있는 데이터 세트를 생성하기 전에 해당 흐름에 대해 흐름 **실행**을 선택합니다.

    자세한 내용은 [ Amazon AppFlow 사용 설명서의 Amazon AppFlow 흐름을 참조하세요](https://docs.aws.amazon.com/appflow/latest/userguide/flows.html). AppFlow 
+ **AWS Data Exchange**

  에서 사용할 수 있는 수백 개의 타사 데이터 소스 중에서 선택할 수 있습니다AWS Data Exchange. 이러한 데이터 소스를 구독하면 up-to-date 버전의 데이터를 얻을 수 있습니다.

  데이터 세트를 생성하려면 구독하고 사용할 권한이 있는AWS Data Exchange데이터 제품의 이름을 지정합니다.