Skip to content
Snippets Groups Projects
  • smishra8's avatar
    d7415991
    [SPARK-12910] Fixes : R version for installing sparkR · d7415991
    smishra8 authored
    Testing code:
    ```
    $ ./install-dev.sh
    USING R_HOME = /usr/bin
    ERROR: this R is version 2.15.1, package 'SparkR' requires R >= 3.0
    ```
    
    Using the new argument:
    ```
    $ ./install-dev.sh /content/username/SOFTWARE/R-3.2.3
    USING R_HOME = /content/username/SOFTWARE/R-3.2.3/bin
    * installing *source* package ‘SparkR’ ...
    ** R
    ** inst
    ** preparing package for lazy loading
    Creating a new generic function for ‘colnames’ in package ‘SparkR’
    Creating a new generic function for ‘colnames<-’ in package ‘SparkR’
    Creating a new generic function for ‘cov’ in package ‘SparkR’
    Creating a new generic function for ‘na.omit’ in package ‘SparkR’
    Creating a new generic function for ‘filter’ in package ‘SparkR’
    Creating a new generic function for ‘intersect’ in package ‘SparkR’
    Creating a new generic function for ‘sample’ in package ‘SparkR’
    Creating a new generic function for ‘transform’ in package ‘SparkR’
    Creating a new generic function for ‘subset’ in package ‘SparkR’
    Creating a new generic function for ‘summary’ in package ‘SparkR’
    Creating a new generic function for ‘lag’ in package ‘SparkR’
    Creating a new generic function for ‘rank’ in package ‘SparkR’
    Creating a new generic function for ‘sd’ in package ‘SparkR’
    Creating a new generic function for ‘var’ in package ‘SparkR’
    Creating a new generic function for ‘predict’ in package ‘SparkR’
    Creating a new generic function for ‘rbind’ in package ‘SparkR’
    Creating a generic function for ‘lapply’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘Filter’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘alias’ from package ‘stats’ in package ‘SparkR’
    Creating a generic function for ‘substr’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘%in%’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘mean’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘unique’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘nrow’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘ncol’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘head’ from package ‘utils’ in package ‘SparkR’
    Creating a generic function for ‘factorial’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘atan2’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘ifelse’ from package ‘base’ in package ‘SparkR’
    ** help
    No man pages found in package  ‘SparkR’
    *** installing help indices
    ** building package indices
    ** testing if installed package can be loaded
    * DONE (SparkR)
    
    ```
    
    Author: Shubhanshu Mishra <smishra8@illinois.edu>
    
    Closes #10836 from napsternxg/master.
    d7415991
    History
    [SPARK-12910] Fixes : R version for installing sparkR
    smishra8 authored
    Testing code:
    ```
    $ ./install-dev.sh
    USING R_HOME = /usr/bin
    ERROR: this R is version 2.15.1, package 'SparkR' requires R >= 3.0
    ```
    
    Using the new argument:
    ```
    $ ./install-dev.sh /content/username/SOFTWARE/R-3.2.3
    USING R_HOME = /content/username/SOFTWARE/R-3.2.3/bin
    * installing *source* package ‘SparkR’ ...
    ** R
    ** inst
    ** preparing package for lazy loading
    Creating a new generic function for ‘colnames’ in package ‘SparkR’
    Creating a new generic function for ‘colnames<-’ in package ‘SparkR’
    Creating a new generic function for ‘cov’ in package ‘SparkR’
    Creating a new generic function for ‘na.omit’ in package ‘SparkR’
    Creating a new generic function for ‘filter’ in package ‘SparkR’
    Creating a new generic function for ‘intersect’ in package ‘SparkR’
    Creating a new generic function for ‘sample’ in package ‘SparkR’
    Creating a new generic function for ‘transform’ in package ‘SparkR’
    Creating a new generic function for ‘subset’ in package ‘SparkR’
    Creating a new generic function for ‘summary’ in package ‘SparkR’
    Creating a new generic function for ‘lag’ in package ‘SparkR’
    Creating a new generic function for ‘rank’ in package ‘SparkR’
    Creating a new generic function for ‘sd’ in package ‘SparkR’
    Creating a new generic function for ‘var’ in package ‘SparkR’
    Creating a new generic function for ‘predict’ in package ‘SparkR’
    Creating a new generic function for ‘rbind’ in package ‘SparkR’
    Creating a generic function for ‘lapply’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘Filter’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘alias’ from package ‘stats’ in package ‘SparkR’
    Creating a generic function for ‘substr’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘%in%’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘mean’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘unique’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘nrow’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘ncol’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘head’ from package ‘utils’ in package ‘SparkR’
    Creating a generic function for ‘factorial’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘atan2’ from package ‘base’ in package ‘SparkR’
    Creating a generic function for ‘ifelse’ from package ‘base’ in package ‘SparkR’
    ** help
    No man pages found in package  ‘SparkR’
    *** installing help indices
    ** building package indices
    ** testing if installed package can be loaded
    * DONE (SparkR)
    
    ```
    
    Author: Shubhanshu Mishra <smishra8@illinois.edu>
    
    Closes #10836 from napsternxg/master.
install-dev.sh 1.87 KiB
#!/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 $0`; pwd)"
LIB_DIR="$FWDIR/lib"

mkdir -p $LIB_DIR

pushd $FWDIR > /dev/null
if [ ! -z "$R_HOME" ]
  then
    R_SCRIPT_PATH="$R_HOME/bin"
   else
    R_SCRIPT_PATH="$(dirname $(which R))"
fi
echo "USING R_HOME = $R_HOME"

# Generate Rd files if devtools is installed
"$R_SCRIPT_PATH/"Rscript -e ' if("devtools" %in% rownames(installed.packages())) { library(devtools); devtools::document(pkg="./pkg", roclets=c("rd")) }'

# Install SparkR to $LIB_DIR
"$R_SCRIPT_PATH/"R CMD INSTALL --library=$LIB_DIR $FWDIR/pkg/

# Zip the SparkR package so that it can be distributed to worker nodes on YARN
cd $LIB_DIR
jar cfM "$LIB_DIR/sparkr.zip" SparkR

popd > /dev/null