aboutsummaryrefslogtreecommitdiff
path: root/R/install-source-package.sh
diff options
context:
space:
mode:
authorFelix Cheung <felixcheung_m@hotmail.com>2017-01-16 13:49:12 -0800
committerFelix Cheung <felixcheung@apache.org>2017-01-16 13:49:12 -0800
commitc84f7d3e1b845bc1e595ce9a6e2de663c2d218f4 (patch)
treef5988031c266dfadaa4a791b07b0737cb39ab529 /R/install-source-package.sh
parenta115a54399cd4bedb1a5086943a88af6339fbe85 (diff)
downloadspark-c84f7d3e1b845bc1e595ce9a6e2de663c2d218f4.tar.gz
spark-c84f7d3e1b845bc1e595ce9a6e2de663c2d218f4.tar.bz2
spark-c84f7d3e1b845bc1e595ce9a6e2de663c2d218f4.zip
[SPARK-18828][SPARKR] Refactor scripts for R
## What changes were proposed in this pull request? Refactored script to remove duplications and clearer purpose for each script ## How was this patch tested? manually Author: Felix Cheung <felixcheung_m@hotmail.com> Closes #16249 from felixcheung/rscripts.
Diffstat (limited to 'R/install-source-package.sh')
-rwxr-xr-xR/install-source-package.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/R/install-source-package.sh b/R/install-source-package.sh
new file mode 100755
index 0000000000..c6e443c04e
--- /dev/null
+++ b/R/install-source-package.sh
@@ -0,0 +1,57 @@
+#!/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
+
+FWDIR="$(cd `dirname "${BASH_SOURCE[0]}"`; pwd)"
+pushd $FWDIR > /dev/null
+. $FWDIR/find-r.sh
+
+if [ -z "$VERSION" ]; then
+ VERSION=`grep Version $FWDIR/pkg/DESCRIPTION | awk '{print $NF}'`
+fi
+
+if [ ! -f "$FWDIR"/SparkR_"$VERSION".tar.gz ]; then
+ echo -e "R source package file $FWDIR/SparkR_$VERSION.tar.gz is not found."
+ 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"
+rm -rf $LIB_DIR
+mkdir -p $LIB_DIR
+"$R_SCRIPT_PATH/"R CMD INSTALL SparkR_"$VERSION".tar.gz --library=$LIB_DIR
+
+# Zip the SparkR package so that it can be distributed to worker nodes on YARN
+pushd $LIB_DIR > /dev/null
+jar cfM "$LIB_DIR/sparkr.zip" SparkR
+popd > /dev/null
+
+popd