

AWS Data Pipeline 는 더 이상 신규 고객이 사용할 수 없습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS Data Pipeline 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# 데이터 형식
<a name="dp-object-dataformats"></a>

다음은 AWS Data Pipeline 데이터 형식 객체입니다.

**Topics**
+ [CSV 데이터 형식](dp-object-csv.md)
+ [사용자 지정 데이터 형식](dp-object-custom.md)
+ [DynamoDBDataFormat](dp-object-dynamodbdataformat.md)
+ [DynamoDBExportDataFormat](dp-object-dynamodbexportdataformat.md)
+ [RegEx 데이터 형식](dp-object-regex.md)
+ [TSV 데이터 형식](dp-object-tsv.md)

# CSV 데이터 형식
<a name="dp-object-csv"></a>

열 구분 기호가 쉼표이고 레코드 구분 기호가 줄 바꿈 문자인 위치의 쉼표로 구분된 데이터 형식입니다.

## 예제
<a name="csv-example"></a>

다음은 이 객체 유형의 예제입니다.

```
{
  "id" : "MyOutputDataType",
  "type" : "CSV",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## 구문
<a name="csv-syntax"></a>


****  

| 선택 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| 열 | 이 데이터 노드가 설명하는 데이터의 필드별로 지정된 데이터 형식이 있는 열 이름입니다. 예: 호스트 이름 STRING 값이 여러 개인 경우에는 스페이스로 분리된 열 이름과 데이터 형식을 사용합니다. | 문자열 | 
| escapeChar | 파서에게 다음 문자를 무시하라고 지시하는 문자(예: "\$1")입니다. | 문자열 | 
| parent | 슬롯을 상속할 현재 객체의 부모입니다. | 참조 객체. 예: "parent":\$1"ref":"myBaseObjectId"\$1 | 

 


****  

| 실행 시간 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @version | 객체와 함께 생성된 파이프라인 버전입니다. | 문자열 | 

 


****  

| 시스템 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @오류 | 잘못 형성된 객체를 설명하는 오류 | 문자열 | 
| @pipelineId | 이 객체가 속하는 파이프라인의 ID | 문자열 | 
| @sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | 문자열 | 

# 사용자 지정 데이터 형식
<a name="dp-object-custom"></a>

특정 열 구분 기호, 레코드 구분 기호 및 이스케이프 문자의 조합으로 정의되는 사용자 정의 데이터 형식입니다.

## 예제
<a name="custom-example"></a>

다음은 이 객체 유형의 예제입니다.

```
{
  "id" : "MyOutputDataType",
  "type" : "Custom",
  "columnSeparator" : ",",
  "recordSeparator" : "\n",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## 구문
<a name="custom-syntax"></a>


****  

| 필수 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| columnSeparator | 데이터 파일에서 열 끝을 나타내는 문자입니다. | 문자열 | 

 


****  

| 선택 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| 열 | 이 데이터 노드가 설명하는 데이터의 필드별로 지정된 데이터 형식이 있는 열 이름입니다. 예: 호스트 이름 STRING 값이 여러 개인 경우에는 스페이스로 분리된 열 이름과 데이터 형식을 사용합니다. | 문자열 | 
| parent | 슬롯을 상속할 현재 객체의 부모입니다. | 참조 객체. 예: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| recordSeparator | 데이터 파일에서 행의 끝을 나타내는 문자입니다(예: "\$1n"). 단일 문자만 지원됩니다. | 문자열 | 

 


****  

| 실행 시간 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @version | 객체와 함께 생성된 파이프라인 버전입니다. | 문자열 | 

 


****  

| 시스템 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @오류 | 잘못 형성된 객체를 설명하는 오류 | 문자열 | 
| @pipelineId | 이 객체가 속하는 파이프라인의 ID | 문자열 | 
| @sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | 문자열 | 

# DynamoDBDataFormat
<a name="dp-object-dynamodbdataformat"></a>

DynamoDB 테이블에 스키마를 적용하여 Hive 쿼리를 통해 액세스할 수 있습니다. `DynamoDBDataFormat`은(는) `HiveActivity` 객체와 `DynamoDBDataNode` 입력 및 출력과 함께 사용됩니다. `DynamoDBDataFormat`에서는 Hive 쿼리의 모든 열을 지정해야 합니다. Hive 쿼리에서 특정 열을 얼마나 유연하게 지정하는지에 대한 내용이나 Amazon S3 지원에 대한 내용은 [DynamoDBExportDataFormat](dp-object-dynamodbexportdataformat.md)을(를) 참조하세요.

**참고**  
DynamoDB Boolean 유형은 Hive Boolean 유형에 매핑하지 않습니다. 그러나 0 또는 1의 DynamoDB 정수 값을 Hive Boolean 유형에 매핑할 수 있습니다.

## 예제
<a name="dynamodbdataformat-example"></a>

다음 예제에서는 `DynamoDBDataFormat`을 사용하여 스키마를 `DynamoDBDataNode` 입력에 할당하는 방법을 보여주고 명명된 열을 사용해 `HiveActivity` 객체가 데이터를 액세스하고 `DynamoDBDataNode` 출력에 데이터를 복사합니다.

```
{
  "objects": [
    {
      "id" : "Exists.1",
      "name" : "Exists.1",
      "type" : "Exists"
    },
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBDataFormat",
      "column" : [ 
         "hash STRING", 
        "range STRING" 
      ]
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "$INPUT_TABLE_NAME",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "$OUTPUT_TABLE_NAME",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.small",
      "keyPair" : "$KEYPAIR"
    },
    {
      "id" : "HiveActivity.1",
      "name" : "HiveActivity.1",
      "type" : "HiveActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" : { "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "hiveScript" : "insert overwrite table ${output1} select * from ${input1} ;"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 day",
      "startDateTime" : "2012-05-04T00:00:00",
      "endDateTime" : "2012-05-05T00:00:00"
    }
  ]
}
```

## 구문
<a name="dynamodbdataformat-syntax"></a>


****  

| 선택 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| 열 | 이 데이터 노드가 설명하는 데이터의 필드별로 지정된 데이터 형식이 있는 열 이름입니다. 예를 들어 hostname STRING입니다. 예: 여러 값의 경우, 스페이스로 분리된 열 이름과 데이터 형식을 사용합니다. | 문자열 | 
| parent | 슬롯을 상속할 현재 객체의 부모입니다. | 참조 객체. 예: "parent":\$1"ref":"myBaseObjectId"\$1 | 

 


****  

| 실행 시간 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @version | 파이프라인 버전에서 객체를 생성하는 데 사용합니다. | 문자열 | 

 


****  

| 시스템 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @오류 | 잘못 형성된 객체를 설명하는 오류입니다. | 문자열 | 
| @pipelineId | 이 객체가 속하는 파이프라인의 ID입니다. | 문자열 | 
| @sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | 문자열 | 

# DynamoDBExportDataFormat
<a name="dp-object-dynamodbexportdataformat"></a>

Amazon DynamoDB 테이블에 스키마를 적용하여 Hive 쿼리를 통해 액세스할 수 있습니다. `HiveCopyActivity` 객체와 `DynamoDBDataNode` 또는 `S3DataNode` 입력 및 출력에 `DynamoDBExportDataFormat`을 사용합니다. `DynamoDBExportDataFormat`에는 다음 장점이 있습니다.
+ DynamoDB와 Amazon S3 지원을 모두 제공합니다.
+ Hive 쿼리의 특정 열로 데이터를 필터링할 수 있음
+ 스파스 스키마가 있는 경우에도 DynamoDB 의 모든 속성을 내보냄

**참고**  
DynamoDB Boolean 유형은 Hive Boolean 유형에 매핑하지 않습니다. 그러나 0 또는 1의 DynamoDB 정수 값을 Hive Boolean 유형에 매핑할 수 있습니다.

## 예제
<a name="dynamodbexportdataformat-example"></a>

다음 예제에서는 타임스탬프에 기반하여 필터링을 하는 동안 `HiveCopyActivity`와 `DynamoDBExportDataFormat`을 사용하여 하나의 `DynamoDBDataNode`에서 다른 로 데이터를 복사하는 방법을 보여줍니다.

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" : { "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## 구문
<a name="dynamodbexportdataformat-syntax"></a>


****  

| 선택 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| 열 | 이 데이터 노드가 설명하는 데이터의 필드별로 지정된 데이터 형식이 있는 열 이름입니다. 예: 호스트이름 STRING | 문자열 | 
| parent | 슬롯을 상속할 현재 객체의 부모입니다. | 참조 객체. 예: "parent":\$1"ref":"myBaseObjectId"\$1 | 

 


****  

| 실행 시간 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @version | 객체와 함께 생성된 파이프라인 버전입니다. | 문자열 | 

 


****  

| 시스템 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @오류 | 잘못 형성된 객체를 설명하는 오류 | 문자열 | 
| @pipelineId | 이 객체가 속하는 파이프라인의 ID | 문자열 | 
| @sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | 문자열 | 

# RegEx 데이터 형식
<a name="dp-object-regex"></a>

정규식에 의해 정의된 사용자 지정 데이터 형식입니다.

## 예제
<a name="regex-example"></a>

다음은 이 객체 유형의 예제입니다.

```
{
  "id" : "MyInputDataType",
  "type" : "RegEx",
  "inputRegEx" : "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\"[^\"]*\") ([^ \"]*|\"[^\"]*\"))?",
  "outputFormat" : "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s",
  "column" : [
    "host STRING",
    "identity STRING",
    "user STRING",
    "time STRING",
    "request STRING",
    "status STRING",
    "size STRING",
    "referer STRING",
    "agent STRING"
  ]
}
```

## 구문
<a name="regex-syntax"></a>


****  

| 선택 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| 열 | 이 데이터 노드가 설명하는 데이터의 필드별로 지정된 데이터 형식이 있는 열 이름입니다. 예: 호스트 이름 STRING 값이 여러 개인 경우에는 스페이스로 분리된 열 이름과 데이터 형식을 사용합니다. | 문자열 | 
| inputRegEx | S3 입력 파일의 구문을 분석할 정규식입니다. inputRegEx를 사용하여 파일에서 상대적으로 비정형 데이터의 열을 검색합니다. | 문자열 | 
| outputFormat | inputRegEx로 검색하고, Java 포맷터 구문을 사용하여 %1\$1s %2\$1s로 참조되는 열 필드입니다. | 문자열 | 
| parent | 슬롯을 상속할 현재 객체의 부모입니다. | 참조 객체. 예: "parent":\$1"ref":"myBaseObjectId"\$1 | 

 


****  

| 실행 시간 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @version | 객체와 함께 생성된 파이프라인 버전입니다. | 문자열 | 

 


****  

| 시스템 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @오류 | 잘못 형성된 객체를 설명하는 오류 | 문자열 | 
| @pipelineId | 이 객체가 속하는 파이프라인의 ID | 문자열 | 
| @sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | 문자열 | 

# TSV 데이터 형식
<a name="dp-object-tsv"></a>

열 구분 기호가 탭 문자이고 레코드 구분 기호가 줄 바꿈 문자인 위치의 쉼표로 구분된 데이터 형식입니다.

## 예제
<a name="tsv-example"></a>

다음은 이 객체 유형의 예제입니다.

```
{
  "id" : "MyOutputDataType",
  "type" : "TSV",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## 구문
<a name="tsv-syntax"></a>


****  

| 선택 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| 열 | 이 데이터 노드에 의해 설명된 데이터의 열 이름과 데이터 형식입니다. 예를 들어, "Name STRING"은 데이터 형식 STRING 필드에서 Name로 명명된 열을 가리킵니다. 쉼표로 구분되는 별도의 복수 열 이름 및 데이터 형식 페어(예 참조)입니다. | 문자열 | 
| columnSeparator | 한 열의 필드를 다음 열의 필드와 분리하는 문자입니다. 기본값은 '\$1t'입니다. | 문자열 | 
| escapeChar | 파서에게 다음 문자를 무시하라고 지시하는 문자(예: "\$1")입니다. | 문자열 | 
| parent | 슬롯을 상속해 올 현재 객체의 상위 객체입니다. | 참조 객체. 예: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| recordSeparator | 레코드를 분리하는 문자입니다. 기본값은 '\$1n'입니다. | 문자열 | 

 


****  

| 실행 시간 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @version | 객체와 함께 생성된 파이프라인 버전입니다. | 문자열 | 

 


****  

| 시스템 필드 | 설명 | 슬롯 유형 | 
| --- | --- | --- | 
| @오류 | 잘못 형성된 객체를 설명하는 오류. | 문자열 | 
| @pipelineId | 이 객체가 속하는 파이프라인의 ID. | 문자열 | 
| @sphere | 객체의 타원 무늬는 수명 주기 내 위치를 나타냅니다. Component Objects는 Attempt Objects를 실행하는 Instance Objects를 야기합니다. | 문자열 | 