{"id":16714702,"url":"https://github.com/civitaspo/embulk-filter-join_file","last_synced_at":"2025-08-09T02:13:35.530Z","repository":{"id":52582433,"uuid":"44036948","full_name":"civitaspo/embulk-filter-join_file","owner":"civitaspo","description":"Now only support json format...","archived":false,"fork":false,"pushed_at":"2021-04-24T22:26:22.000Z","size":220,"stargazers_count":5,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-17T22:10:48.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/civitaspo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-11T02:55:27.000Z","updated_at":"2021-04-24T22:26:25.000Z","dependencies_parsed_at":"2022-09-06T20:30:55.310Z","dependency_job_id":null,"html_url":"https://github.com/civitaspo/embulk-filter-join_file","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/civitaspo/embulk-filter-join_file","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civitaspo%2Fembulk-filter-join_file","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civitaspo%2Fembulk-filter-join_file/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civitaspo%2Fembulk-filter-join_file/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civitaspo%2Fembulk-filter-join_file/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/civitaspo","download_url":"https://codeload.github.com/civitaspo/embulk-filter-join_file/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/civitaspo%2Fembulk-filter-join_file/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267376131,"owners_count":24077295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T21:06:37.620Z","updated_at":"2025-07-28T23:36:15.880Z","avatar_url":"https://github.com/civitaspo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Join File filter plugin for Embulk\n\nThis plugin combine rows from file having data format like a table, based on a common field between them.\n\n## Overview\n\n* **Plugin type**: filter\n\n## Configuration\n\n- **base_column**: a column name of data embulk loaded (hash, required)\n  - **name**: name of the column\n  - **type**: type of the column (see below)\n  - **format**: format of the timestamp if type is timestamp\n- **counter_column**: a column name of data loaded from file (string, default: `{name: id, type: long}`)\n  - **name**: name of the column\n  - **type**: type of the column (see below)\n  - **format**: format of the timestamp if type is timestamp\n- **joined_column_prefix**: prefix added to joined data columns (string, default: `\"_joined_by_embulk_\"`)\n- **file_path**: path of file (string, required)\n- **file_format**: file format (string, required, supported: `csv`, `tsv`, `yaml`, `json`)\n- **columns**: required columns of data from the file (array of hash, required)\n  - **name**: name of the column\n  - **type**: type of the column (see below)\n  - **format**: format of the timestamp if type is timestamp\n\n---\n**type of the column**\n\n|name|description|\n|:---|:---|\n|boolean|true or false|\n|long|64-bit signed integers|\n|timestamp|Date and time with nano-seconds precision|\n|double|64-bit floating point numbers|\n|string|Strings|\n\n## Example\n\n```yaml\nfilters:\n  - type: join_file\n    base_column: {name: name_id, type: long}\n    counter_column: {name: id, type: long}\n    joined_column_prefix: _joined_by_embulk_\n    file_path: master.json\n    file_format: json\n    columns:\n      - {name: id, type: long}\n      - {name: name, type: string}\n```\n\n## Run Example\n\n```\n$ ./gradlew classpath\n$ embulk run -I lib example/config.yml\n```\n\n## Supported Data Format\n- csv ( **not implemented** )\n- tsv ( **not implemented** )\n- yaml ( **not implemented** )\n- json\n\n### Supported Data Format Example\n\n#### CSV\n\n```csv\nid,name\n0,civitaspo\n2,mori.ogai\n5,natsume.soseki\n```\n\n#### TSV\n\nSince the representation is difficult, it represents the tab as `\\t`.\n\n```tsv\nid\\tname\n0\\tcivitaspo\n2\\tmori.ogai\n5\\tnatsume.soseki\n```\n\n#### YAML\n\n```\n- id: 0\n  name: civitaspo\n- id: 2\n  name: mori.ogai\n- id: 5\n  name: natsume.soseki\n```\n\n#### JSON\n\n```\n[\n  {\n    \"id\": 0,\n    \"name\": \"civitaspo\"\n  },\n  {\n    \"id\": 2,\n    \"name\": \"moriogai\"\n  },\n  {\n    \"id\": 5,\n    \"name\": \"natsume.soseki\"\n  }\n]\n```\n\n## Build\n\n```\n$ ./gradlew gem  # -t to watch change of files and rebuild continuously\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcivitaspo%2Fembulk-filter-join_file","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcivitaspo%2Fembulk-filter-join_file","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcivitaspo%2Fembulk-filter-join_file/lists"}