EVL – ETL Tool


Products, services and company names referenced in this document may be either trademarks or registered trademarks of their respective owners.

Copyright © 2017–2022 EVL Tool, s.r.o.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.

Table of Contents

Join

(since EVL 1.0)

Join <f_left> and <f_right> according to <key> and write to <f_out> or stdout. Inputs must be sorted by the <key>.

Synopsis

Join
  <f_left> <f_right> <f_out>
  (<evd_left> | -L <inline_evd>) (<evd_right> | -R <inline_evd>)
  (<evd_out> | -d <inline_evd>) <evm> (-k <key> | -l <key> -r <key> )
  (-t|--type (left|right|inner|outer|cross))
  [-c|--check-sort] [-i|--ignore-case] [-y|--text-output]
  [ [-x|--text-input] | [-a|--left-text-input] [-b|--right-text-input] ]
  [-o <f_out>] [--output<n>=<f_out>]... [--outputs=<varname>]
  [--reject=<f_out>] [--reject<n>=<f_out>]... [--rejects=<varname>]

evl join
  <f_left> <f_right>
  (<evd_left> | -L <inline_evd>) (<evd_right> | -R <inline_evd>)
  (<evd_out> | -d <inline_evd>) <evm> (-k <key> | -l <key> -r <key> )
  (-t|--type (left|right|inner|outer|cross))
  [-c|--check-sort] [-i|--ignore-case] [-y|--text-output]
  [ [-x|--text-input] | [-a|--left-text-input] [-b|--right-text-input] ]
  [-o <f_out>] [--output<n>=<f_out>]... [--outputs=<varname>]
  [--reject=<f_out>] [--reject<n>=<f_out>]... [--rejects=<varname>]
  [-v|--verbose]

evl join
  ( --help | --usage | --version )

Options

-L, --left-definition=<inline_evd>

either this option or the file <evd_left> must be presented

-R, --right-definition=<inline_evd>

either this option or the file <evd_right> must be presented

-c, --check-sort

check if the input is really sorted according to specified key

-d, --output-definition=<inline_evd>

either this option or the file <evd_out> must be presented. Example: ‘-d 'user_sum long'

-i, --ignore-case

be case insensitive for key fields

-k, --key=<key>

join by this key, where <key> is comma separated list of fields with sort type (either DESC or ASC, default type is ASC). This is the shortcut for having the same lists of key fields for ‘--key-left’ and ‘--key-right’. Example: ‘--key='id,user_id DESC'

-l, --key-left=<key>

comma separated list of left fields to join according to Example: ‘--key-left='id,name'

-r, --key-right=<key>

comma separated list of right fields to join according to Example: ‘--key-right='user_id,surname'

-t, --type=<type>

mandatory option specifying the join type, possible values for <type> are: ‘left’, ‘right’, ‘inner’, ‘outer’, ‘cross

--unmatched-left=<f_out>

when ‘unmatched_left()’ function is used in the mapping, out structure is forwarded into <f_out>

--unmatched-right=<f_out>

when ‘unmatched_right()’ function is used in the mapping, out structure is forwarded into <f_out>

-o, --output=<f_out>

when ‘output()’ function is used in the mapping, out structure is forwarded into <f_out>

--output<n>=<f_out>

when function ‘output(<n>)’ is used in mapping, where <n> is an integer from 7 to 16, out structure is forwarded into <f_out>

--outputs=<varname>

specifies an array ‘${<varname>[@]}’ which contains filenames to be used for ‘output(N)’ functions in mapping. Example: for ‘--outputs=OUTFILE’, ‘${OUTFILE[120]}’ is the filename used for ‘output(120)

--reject=<f_out>

when ‘reject()’ function is used in the mapping, input record is rejected into <f_out>

--reject<n>=<f_out>

when function ‘reject(<n>)’ is used in mapping, where <n> is an integer from 7 to 16, input record is rejected into <f_out>

--rejects=<varname>

specifies an array ‘${<varname>[@]}’ which contains filenames to be used for ‘reject(N)’ functions in mapping. Example: for ‘--rejects=REJECTS’, ‘${REJECTS[1000]}’ is the filename used for ‘reject(1000)’.

-a, --left-text-input

suppose the left input as text, not binary

-b, --right-text-input

suppose the right input as text, not binary

-x, --text-input

suppose the input as text, not binary

-y, --text-output

write the output as text, not binary

Standard options:

--help

print this help and exit

--usage

print short usage information and exit

-v, --verbose

print to stderr info/debug messages of the component

--version

print version and exit