The project is in a healthy, maintained state
Embulk filter plugin to pivot columns to rows
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
 Dependencies
 Project Readme

Pivot filter plugin for Embulk

Embulk filter plugin to pivot columns to rows.

Overview

  • Plugin type: filter

Configuration

  • common_columns: description (Array, default: [])
  • key_config: description (ColumnConfig)
    • name: name of the column (default: "key")
    • type: type of the column (default: "string")
  • value_config: description (ColumnConfig, default: null)
    • name: name of the column (default: "key")
    • type: type of the column (default: "string")

Example

filters:
  - type: pivot
    common_columns:
      - user_id
      - project
    key_config: {name: "my_key", type: "string"}
    value_config: {name: "my_value", type: "string"}
user_id:string project:string city:string phone:string gender:string
user-100 test-project Tokyo 080-xxxx-xxx1 male
user-101 test-project Osaka 080-xxxx-xxx2 male
user-201 test-project Kyoto 080-xxxx-xxx3 female
user-301 test-project Nara 080-xxxx-xxx4 other

will convert to followings:

user_id:string project:string my_key:string my_value:string
user-100 test-project city Tokyo
user-100 test-project phone 080-xxxx-xxx1
user-100 test-project gender male
user-101 test-project city Osaka
user-101 test-project phone 080-xxxx-xxx2
user-101 test-project gender male
user-201 test-project city Kyoto
user-201 test-project phone 080-xxxx-xxx3
user-201 test-project gender female
user-301 test-project city Nara
user-301 test-project phone 080-xxxx-xxx4
user-301 test-project gender female

We should use the same types except for common_columns and key column specified by key_config.

Build

$ ./gradlew gem  # -t to watch change of files and rebuild continuously