Sha256: 8de1e57640201e6afefd2a89c914177e9e51534acf8b7be00deada7407590e18

Contents?: true

Size: 1.63 KB

Versions: 4

Compression:

Stored size: 1.63 KB

Contents

# Typecast filter plugin for Embulk

[![Build Status](https://secure.travis-ci.org/sonots/embulk-filter-typecast.png?branch=master)](http://travis-ci.org/sonots/embulk-filter-typecast)

A filter plugin for Embulk to cast column type.

## Configuration

- **columns**: columns to retain (array of hash)
  - **name**: name of column (required)
  - **type**: embulk type to cast
  - **format**: specify the format of the timestamp (string, default is default_timestamp_format)
  - **timezone**: specify the timezone of the timestamp (string, default is default_timezone)
- **default_timestamp_format**: default timestamp format (string, default is `%Y-%m-%d %H:%M:%S.%N %z`)
- **default_timezone**: default timezone (string, default is `UTC`)
* **stop_on_invalid_record**: stop bulk load transaction if a invalid record is found (boolean, default is `false)

## Example

See [example.csv](./example/example.csv) and [example.yml](./example/example.yml).

## JSONPath

For `type: json` column, you can specify [JSONPath](http://goessner.net/articles/JsonPath/) for column's name as:

```
name: $.payload.key1
name: "$.payload.array[0]"
name: "$.payload.array[*]"
name: $['payload']['key1.key2']
```

Following operators of JSONPath are not supported:

* Multiple properties such as `['name','name']`
* Multiple array indexes such as `[1,2]`
* Array slice such as `[1:2]`
* Filter expression such as `[?(<expression>)]`

## ToDo

* Write test

## Development

Run example:

```
$ ./gradlew classpath
$ embulk preview -I lib example/example.yml
```

Run test:

```
$ ./gradlew test
```

Run checkstyle:

```
$ ./gradlew check
```

Release gem:

```
$ ./gradlew gemPush
```

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
embulk-filter-typecast-0.2.2 README.md
embulk-filter-typecast-0.2.1 README.md
embulk-filter-typecast-0.2.0 README.md
embulk-filter-typecast-0.1.5 README.md