| #!/usr/bin/env bash |
| |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| JAKARTA_EL_VERSION=3.0.3 |
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| echo "DIR is ${DIR}" |
| |
| if [ -z "$CLI_BUNDLE_JAR" ]; then |
| echo "Inferring CLI_BUNDLE_JAR path assuming this script is under Hudi repo" |
| CLI_BUNDLE_JAR=`ls $DIR/target/hudi-cli-bundle*.jar | grep -v source | grep -v javadoc` |
| fi |
| |
| if [ -z "$SPARK_BUNDLE_JAR" ]; then |
| echo "Inferring SPARK_BUNDLE_JAR path assuming this script is under Hudi repo" |
| SPARK_BUNDLE_JAR=`ls $DIR/../hudi-spark-bundle/target/hudi-spark*-bundle*.jar | grep -v source | grep -v javadoc` |
| fi |
| |
| echo "CLI_BUNDLE_JAR: $CLI_BUNDLE_JAR" |
| echo "SPARK_BUNDLE_JAR: $SPARK_BUNDLE_JAR" |
| |
| HUDI_CONF_DIR="${DIR}"/conf |
| # hudi aux lib contains jakarta.el jars, which need to be put directly on class path |
| HUDI_AUX_LIB="${DIR}"/auxlib |
| |
| if [ ! -d $HUDI_AUX_LIB ]; then |
| echo "Downloading necessary auxiliary jars for Hudi CLI" |
| wget https://repo1.maven.org/maven2/org/glassfish/jakarta.el/$JAKARTA_EL_VERSION/jakarta.el-$JAKARTA_EL_VERSION.jar -P auxlib |
| wget https://repo1.maven.org/maven2/jakarta/el/jakarta.el-api/$JAKARTA_EL_VERSION/jakarta.el-api-$JAKARTA_EL_VERSION.jar -P auxlib |
| fi |
| |
| . "${DIR}"/conf/hudi-env.sh |
| |
| if [ -z "$CLI_BUNDLE_JAR" ] || [ -z "$SPARK_BUNDLE_JAR" ]; then |
| echo "Make sure to generate both the hudi-cli-bundle.jar and hudi-spark-bundle.jar before running this script." |
| exit |
| fi |
| |
| if [ -z "$SPARK_HOME" ]; then |
| echo "SPARK_HOME not set, setting to /usr/local/spark" |
| export SPARK_HOME="/usr/local/spark" |
| fi |
| |
| if [ -z "$CLIENT_JAR" ]; then |
| echo "Client jar location not set, please set it in conf/hudi-env.sh" |
| fi |
| |
| echo "Running : java -cp ${HUDI_CONF_DIR}:${HUDI_AUX_LIB}/*:${SPARK_HOME}/*:${SPARK_HOME}/jars/*:${HADOOP_CONF_DIR}:${SPARK_CONF_DIR}:${CLI_BUNDLE_JAR}:${SPARK_BUNDLE_JAR}:${CLIENT_JAR} -DSPARK_CONF_DIR=${SPARK_CONF_DIR} -DHADOOP_CONF_DIR=${HADOOP_CONF_DIR} org.apache.hudi.cli.Main $@" |
| java -cp ${HUDI_CONF_DIR}:${HUDI_AUX_LIB}/*:${SPARK_HOME}/*:${SPARK_HOME}/jars/*:${HADOOP_CONF_DIR}:${SPARK_CONF_DIR}:${CLI_BUNDLE_JAR}:${SPARK_BUNDLE_JAR}:${CLIENT_JAR} -DSPARK_CONF_DIR=${SPARK_CONF_DIR} -DHADOOP_CONF_DIR=${HADOOP_CONF_DIR} org.apache.hudi.cli.Main $@ |