Post Installation

The flexter post installation steps

License Setup

Copy the license file in one of these paths:

# For all users
/etc/flexter/conf/flexter.lic

# For the current user
~/.config/flexter/flexter.lic

# same directory that you are launching a flexter command
./flexter.lic

Flexter Metadada Access

Define the access to the database server at flexter.conf replacing the metadata’s connection path and password, at one of these locations:

# For all users
/etc/flexter/conf/flexter.conf

# For the current user
~/.config/flexter/flexter.conf

# same directory that you are launching a flexter command
./flexter.conf

As the example below:

metadata {
  path="jdbc:postgresql:x2er"
  user="flex2er"
  password="flexter"
}

Installing/Updating Flexter Metadata Schema

With the license and the flexter metadata access, now it’s possible to load the schema into the database, as the example below:

# For all users
$ flexchma update

# or with parameters
$ flexchma update -m "jdbc:postgresql:[<host>[:port]/]<db>" -M <user> -w <password>

Installing the Apache Spark

In cases where the apache spark isn’t available in the system, it can be downloaded using the script as below:

With root access

$ /usr/share/flexter/sbin/download.sh spark

The above script will then check any existing local Spark installation, downloading the default one if no installation is found.

Optionally, you can specify the Spark version. For instance:

$ /usr/share/flexter/sbin/download.sh spark -v 2.4.7 -f

More information about the script’s parameters can be listed with the --help option.

$ /usr/share/flexter/sbin/download.sh spark --help

Without root access

$ ~/.local/share/flexter/sbin/download.sh spark

The above script will then check any existing local Spark installation, downloading the default one if no installation is found.

Optionally, you can specify the Spark version. For instance:

$ ~/.local/share/flexter/sbin/download.sh spark -v 2.4.7 -f

More information about the script’s parameters can be listed with the --help option.

$ ~/.local/share/flexter/sbin/download.sh spark --help

Smoke Tests

Checking Versions

Checking if the commands execute successfully and have the expected versions.

$ flexchma --version
$ xsd2er --version
$ xml2er --version
$ json2er --version
$ merge2er --version

Checking The Help

Checking if the help works correctly, and bring the defaults based on the right configuration files.

$ flexchma --help
$ xsd2er --help
$ xml2er --help
$ json2er --help
$ merge2er --help

Testing

With root access

Examples based on the flexter instalation with root access

Check if the files are being parsed

$ xsd2er -sRF /usr/share/flexter/samples/donut.xsd.gz
$ xml2er -s /usr/share/flexter/samples/donut.xml.gz
$ json2er -s /usr/share/flexter/samples/donut.json.gz

Check if Flexter is successfully writing metadata

$ xsd2er -RF -g1 /usr/share/flexter/samples/donut.xsd.gz
   origin: <origin_id>

Check if xml2er is loading metadata

$ xml2er -s -x<origin_id> /usr/share/flexter/samples/donut.xml.gz

Check if xml2er is writing the parsed data

$ xml2er -x<origin_id> /usr/share/flexter/samples/donut.xml.gz -o /tmp/flexter_test

Check if merge2er is successfully processing files

$ merge2er /tmp/flexter_test

Check if merge2er is successfully processing files and writing files to a different path

$ merge2er /tmp/flexter_test -o /tmp/flexter_test2

Without root access

Examples based on the flexter instalation without root access

$ xsd2er -sRF ~/.local/share/flexter/samples/donut.xsd.gz
$ xml2er -s ~/.local/share/flexter/samples/donut.xml.gz
$ json2er -s ~/.local/share/flexter/samples/donut.json.gz

Check if Flexter is successfully writing metadata

$ xsd2er -RF -g1 ~/.local/share/flexter/samples/donut.xsd.gz
   origin: <origin_id>

Check if xml2er is loading metadata

$ xml2er -s -x<origin_id> ~/.local/share/flexter/samples/donut.xml.gz

Check if xml2er is writing the parsed data

$ xml2er -x<origin_id> ~/.local/share/flexter/samples/donut.xml.gz -o /tmp/flexter_test

Check if merge2er is successfully processing files

$ merge2er /tmp/flexter_test

Check if merge2er is successfully processing files and writing files to a different path

$ merge2er /tmp/flexter_test -o /tmp/flexter_test2