# Column_options フィルター関数による Timestamp 型データのタイムゾーン処理

timestamp データ（例：2016/11/23 21:00:33 JST）のタイムゾーンは、timestamp データを期待通りに処理するために指定する必要があります。以下では、`column_options` オプションが入力と出力の timestamp データのタイムゾーンを処理する方法を示します。

## 入力データ

S3 に以下のデータがあり、そのまま TD にインポートしたい場合。`time_jst` は JST タイムゾーンの timestamp データ、`time_utc` は UTC ゾーンの timestamp データです。

```csv
time_jst,time_utc
2016-11-12 14:58:10.589000,2016-11-12 05:58:10.589000
2016-11-12 14:53:34.807000,2016-11-12 05:53:34.807000
2016-11-12 17:24:52.912000,2016-11-12 08:24:52.912000
2016-11-12 16:28:19.932000,2016-11-12 07:28:19.932000
2016-11-12 00:10:08.185000,2016-11-11 15:10:08.185000
2016-11-12 23:10:03.146000,2016-11-12 14:10:03.146000
2016-11-12 20:21:22.120000,2016-11-12 11:21:22.120000
2016-11-12 17:31:13.673000,2016-11-12 08:31:13.673000
2016-11-12 13:52:53.000000,2016-11-12 04:52:53.000000
```

## 設定

```yaml
in:
  type: s3
  access_key_id: xxx
  secret_access_key: xxx
  bucket: xxxxx
  path_prefix: datafile.csv
  parser:
    charset: UTF-8
    newline: CRLF
    type: csv
    delimiter: ','
    quote: '"'
    escape: '"'
    trim_if_not_quoted: false
    skip_header_lines: 1
    allow_extra_columns: false
    allow_optional_columns: false
    columns:
    - {name: time_jst, type: timestamp, format: '%Y-%m-%d %H:%M:%S.%N', timezone: 'Asia/Tokyo'}
    - {name: time_utc, type: timestamp, format: '%Y-%m-%d %H:%M:%S.%N', timezone: 'UTC'}
out:
  column_options:
    time_jst: {format: '%Y-%m-%d %H:%M:%S', timezone: 'Asia/Tokyo'}
    time_utc: {format: '%Y-%m-%d %H:%M:%S', timezone: 'UTC'}
```

**注：**

- `in:` セクションの `columns:` オプションは、`format` と `timezone` 設定を使用して入力データを認識する方法を指定します。
- `out:` セクションの `column_options:` は、`format` と `timezone` 設定を使用して TD にデータを出力する方法を指定します。


## インポート

以下のコマンドで TD にデータをインポートできます。設定ファイルを `load.yml`、データベース名を `db1`、テーブル名を `table1` とします。

```bash
$ td connector:issue load.yml --database db1 --table table1 --auto-create-table
```

## 結果

インポートされたデータの結果は以下のとおりです。

```bash
$ td query -d db1 -Tpresto 'select * from table1 limit 10' -w
+---------------------+---------------------+------------+
| time_jst            | time_utc            | time       |
+---------------------+---------------------+------------+
| 2016-11-12 14:58:10 | 2016-11-12 05:58:10 | 1478930290 |
| 2016-11-12 14:53:34 | 2016-11-12 05:53:34 | 1478930014 |
| 2016-11-12 17:24:52 | 2016-11-12 08:24:52 | 1478939092 |
| 2016-11-12 16:28:19 | 2016-11-12 07:28:19 | 1478935699 |
| 2016-11-12 00:10:08 | 2016-11-11 15:10:08 | 1478877008 |
| 2016-11-12 23:10:03 | 2016-11-12 14:10:03 | 1478959803 |
| 2016-11-12 20:21:22 | 2016-11-12 11:21:22 | 1478949682 |
| 2016-11-12 17:31:13 | 2016-11-12 08:31:13 | 1478939473 |
| 2016-11-12 13:52:53 | 2016-11-12 04:52:53 | 1478926373 |
| 2016-11-12 22:59:39 | 2016-11-12 13:59:39 | 1478959179 |
+---------------------+---------------------+------------+
10 rows in set
```

**注：** `time_column` オプションが明示的に指定されていない場合、`time` は設定に示された最初の timestamp データになります。