Rate This Document
Findability
Accuracy
Completeness
Readability

Installing the UDF Translator

Installing the UDF Translator RPM Package

  1. Obtain the UDF translator RPM package from Table 3 and upload it to the /opt directory on the physical machine.
  2. Install the RPM package in the flink_jm_8c32g container. The default installation path is /opt.
    rpm -ivh UNT-1.0-35.noarch.rpm

    After the command is executed, the /opt/udf-trans-opt directory is automatically created.

    If the /opt/udf-trans-opt directory is not created, run the following command to manually create it:

    mkdir /opt/udf-trans-opt
  3. Copy the basic library directory installed in Installing OmniStream to the /opt/udf-trans-opt directory.
    docker cp /usr/local/OmniStream/libbasictypes flink_jm_8c32g:/opt/udf-trans-opt

Installing UDF Dependencies

  1. Optional: Upload and extract KACC_JSON.
    Obtain the BoostKit-kacccjson_1.0.0.zip package from Table 3, upload it to the /opt directory on the physical machine, and extract it.
    1
    2
    cd /opt/
    unzip BoostKit-kacccjson_1.0.0.zip
    
  2. Copy the KACC_JSON header files and static libraries to the /opt/udf-trans-opt/libbasictypes directory of the UDF translator in the flink_jm_8c32g container.
    1
    2
    3
    docker cp include/kacc_json flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp include/kacc_gson_shell flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp libkaccgson.a flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/lib/
    
  3. Optional: Download and extract the KSL installation package.
    1. Obtain the BoostKit-ksl_2.5.1.zip package from Table 3, upload it to the /opt directory on the physical machine, extract it, and copy it to the flink_jm_8c32g container.
      1
      2
      3
      cd /opt
      unzip BoostKit-ksl_2.5.1.zip
      docker cp boostkit-ksl-2.5.1-1.aarch64.rpm flink_jm_8c32g:/opt/udf-trans-opt/
      
    2. Enter the flink_jm_8c32g container and install the KSL RPM package.
      1
      2
      3
      docker exec -it flink_jm_8c32g bash
      cd /opt/udf-trans-opt/
      rpm -ivh boostkit-ksl-2.5.1-1.aarch64.rpm
      
  4. Install the OmniStream dependency header files.
    Extract the depend.zip package obtained from Table 3 to the /usr/local/OmniStream/depend directory.
    mkdir -p /usr/local/OmniStream/depend/
    unzip depend.zip -d /usr/local/OmniStream/depend/
    docker cp /usr/local/OmniStream/libbasictypes/OmniStream flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/libbasictypes/include/core flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/libbasictypes/include/runtime flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/libbasictypes/include/streaming flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/libbasictypes/include/table flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/libbasictypes/include/third_party flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/depend/jemalloc flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/depend/OmniOperatorJIT flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/depend/xxhash.h flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
    docker cp /usr/local/OmniStream/depend/nlohmann flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/
  5. Install the libboundscheck header file /opt/udf-trans-opt/libbasictypes.
    1. Go to the flink_jm_8c32g container, create the /opt/udf-trans-opt/libbasictypes/include/libboundscheck directory, and exit the container.
      1
      2
      3
      docker exec -it flink_jm_8c32g bash
      mkdir -p /opt/udf-trans-opt/libbasictypes/include/libboundscheck/
      exit
      
    2. Copy the include directory installed in Installing OmniStream to the /opt/udf-trans-opt/libbasictypes/include/libboundscheck directory in the flink_jm_8c32g container.
      1
      docker cp /usr/local/OmniStream/include flink_jm_8c32g:/opt/udf-trans-opt/libbasictypes/include/libboundscheck