2017-01-16 16:49:12 -05:00
|
|
|
#!/bin/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.
|
|
|
|
#
|
|
|
|
|
|
|
|
# This scripts packages the SparkR source files (R and C files) and
|
|
|
|
# creates a package that can be loaded in R. The package is by default installed to
|
|
|
|
# $FWDIR/lib and the package can be loaded by using the following command in R:
|
|
|
|
#
|
|
|
|
# library(SparkR, lib.loc="$FWDIR/lib")
|
|
|
|
#
|
|
|
|
# NOTE(shivaram): Right now we use $SPARK_HOME/R/lib to be the installation directory
|
|
|
|
# to load the SparkR package on the worker nodes.
|
|
|
|
|
|
|
|
set -o pipefail
|
|
|
|
set -e
|
|
|
|
|
2017-04-02 10:31:13 -04:00
|
|
|
FWDIR="$(cd "`dirname "${BASH_SOURCE[0]}"`"; pwd)"
|
|
|
|
pushd "$FWDIR" > /dev/null
|
|
|
|
. "$FWDIR/find-r.sh"
|
2017-01-16 16:49:12 -05:00
|
|
|
|
|
|
|
if [ -z "$VERSION" ]; then
|
2017-04-02 10:31:13 -04:00
|
|
|
VERSION=`grep Version "$FWDIR/pkg/DESCRIPTION" | awk '{print $NF}'`
|
2017-01-16 16:49:12 -05:00
|
|
|
fi
|
|
|
|
|
2017-04-02 10:31:13 -04:00
|
|
|
if [ ! -f "$FWDIR/SparkR_$VERSION.tar.gz" ]; then
|
|
|
|
echo -e "R source package file '$FWDIR/SparkR_$VERSION.tar.gz' is not found."
|
2017-01-16 16:49:12 -05:00
|
|
|
echo -e "Please build R source package with check-cran.sh"
|
|
|
|
exit -1;
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Removing lib path and installing from source package"
|
|
|
|
LIB_DIR="$FWDIR/lib"
|
2017-04-02 10:31:13 -04:00
|
|
|
rm -rf "$LIB_DIR"
|
|
|
|
mkdir -p "$LIB_DIR"
|
|
|
|
"$R_SCRIPT_PATH/R" CMD INSTALL "SparkR_$VERSION.tar.gz" --library="$LIB_DIR"
|
2017-01-16 16:49:12 -05:00
|
|
|
|
|
|
|
# Zip the SparkR package so that it can be distributed to worker nodes on YARN
|
2017-04-02 10:31:13 -04:00
|
|
|
pushd "$LIB_DIR" > /dev/null
|
2017-01-16 16:49:12 -05:00
|
|
|
jar cfM "$LIB_DIR/sparkr.zip" SparkR
|
|
|
|
popd > /dev/null
|
|
|
|
|
|
|
|
popd
|