

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)
+ [Custom データ形式](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>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| escapeChar | 後続の 1 文字を無視することをパーサーに指示する文字（たとえば "\$1"）。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# Custom データ形式
<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 | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| recordSeparator | データファイルの行の終端を示す文字（たとえば "\$1n"）。単一の文字のみがサポートされます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

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

DynamoDB テーブルにスキーマを適用して、Hive クエリでアクセスできるようにします。`DynamoDBDataFormat` は、`HiveActivity` オブジェクトおよび `DynamoDBDataNode` の入出力と共に使用されます。​`DynamoDBDataFormat` では、Hive クエリのすべての列を指定する必要があります。Hive クエリで特定の列を柔軟に指定する方法の詳細または Amazon S3 サポートについては、[DynamoDBExportDataFormat](dp-object-dynamodbexportdataformat.md) を参照してください。

**注記**  
DynamoDB のブール型は、Hive のブール型にマッピングされません。ただし、Hive のブール型に、0 または 1 の DynamoDB 整数値をマッピングすることができます。

## 例
<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。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":​\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成するために使用されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

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

DynamoDB テーブルにスキーマを適用して、Hive クエリでアクセスできるようにします。`DynamoDBExportDataFormat` は、`HiveCopyActivity` オブジェクトと、`DynamoDBDataNode` または `S3DataNode` の入出力と共に使用します。`DynamoDBExportDataFormat` には以下の利点があります。
+ DynamoDB と Amazon S3 の両方のサポートを提供します。
+ Hive クエリで特定の列によってデータをフィルタリングすることができます。
+ スパースなスキーマである場合でも、DynamoDB のすべての属性をエクスポートします。

**注記**  
DynamoDB のブール型は、Hive のブール型にマッピングされません。ただし、Hive のブール型に、0 または 1 の DynamoDB 整数値をマッピングすることができます。

## 例
<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>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# 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>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| inputRegEx | S3 入力ファイルを解析する正規表現。inputRegEx を利用すると、ファイル内の比較的、構造化されていないデータから列を取得することができます。 | String | 
| outputFormat | inputRegEx で取得されるが、Java フォーマッター構文を使用して %1\$1s %2\$1s として参照される列フィールド。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# 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" は、列名が Name で、データ型が STRING であることを示します。複数の列名とデータ型のペアはカンマで区切ります (例を参照)。 | String | 
| columnSeparator | 1 つの列のフィールドと次の列のフィールドを区切る文字。デフォルトは '\$1t' です。 | String | 
| escapeChar | 後続の 1 文字を無視することをパーサーに指示する文字（たとえば "\$1"）。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| recordSeparator | レコードを区切る文字。デフォルトは '\$1n' です。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 