Thanks Shivram. Your suggestion in stack overflow regarding this did work.

Thanks again.

Regards,
Sourav

On Wed, Jul 1, 2015 at 10:21 AM, Shivaram Venkataraman <shivaram@eecs.berkeley.edu> wrote:
You can check my comment below the answer at http://stackoverflow.com/a/30959388/4577954. BTW we added a new option to sparkR.init to pass in packages and that should be a part of 1.5

Shivaram

On Wed, Jul 1, 2015 at 10:03 AM, Sourav Mazumder <sourav.mazumder00@gmail.com> wrote:
Hi,

Piggybacking on this discussion.

I'm trying to achieve the same, reading a csv file, from RStudio. Where I'm stuck is how to supply some additional package from RStudio to spark.init() as sparkR.init does() not provide an option to specify additional package.

I tried following codefrom RStudio. It is giving me error "Error in callJMethod(sqlContext, "load", source, options) :
  Invalid jobj 1. If SparkR was restarted, Spark operations need to be re-executed."

------
Sys.setenv(SPARK_HOME="C:\\spark-1.4.0-bin-hadoop2.6")
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"),.libPaths()))
library(SparkR)

sparkR.stop()

sc <- sparkR.init(master="local[2]", sparkEnvir = list(spark.executor.memory="1G"), sparkJars="C:\\spark-1.4.0-bin-hadoop2.6\\lib\\spark-csv_2.11-1.1.0.jar") /* I have downloaded this spark-csv jar and kept it in lib folder of Spark */

sqlContext <- sparkRSQL.init(sc)

plutoMN <- read.df(sqlContext, "C:\\Users\\Sourav\\Work\\SparkDataScience\\PlutoMN.csv", source = "com.databricks.spark.csv").

------

However, I also tried this from shell as 'sparkR --package com.databricks:spark-csv_2.11:1.1.0". This time I used the following code and it works all fine.

sqlContext <- sparkRSQL.init(sc)

plutoMN <- read.df(sqlContext, "C:\\Users\\Sourav\\Work\\SparkDataScience\\PlutoMN.csv", source = "com.databricks.spark.csv").

Any idea how to achieve the same from RStudio ?

Regards,




On Thu, Jun 25, 2015 at 2:38 PM, Wei Zhou <zhweisophie@gmail.com> wrote:
I tried out the solution using spark-csv package, and it worked fine now :) Thanks. Yes, I'm playing with a file with all columns as String, but the real data I want to process are all doubles. I'm just exploring what sparkR can do versus regular scala spark, as I am by heart a R person. 

2015-06-25 14:26 GMT-07:00 Eskilson,Aleksander <Alek.Eskilson@cerner.com>:
Sure, I had a similar question that Shivaram was able fast for me, the solution is implemented using a separate DataBrick’s library. Check out this thread from the email archives [1], and the read.df() command [2]. CSV files can be a bit tricky, especially with inferring their schemas. Are you using just strings as your column types right now? 

Alek


From: Wei Zhou <zhweisophie@gmail.com>
Date: Thursday, June 25, 2015 at 4:15 PM
To: "shivaram@eecs.berkeley.edu" <shivaram@eecs.berkeley.edu>
Cc: Aleksander Eskilson <Alek.Eskilson@cerner.com>, "user@spark.apache.org" <user@spark.apache.org>
Subject: Re: sparkR could not find function "textFile"

Thanks to both Shivaram and Alek. Then if I want to create DataFrame from comma separated flat files, what would you recommend me to do? One way I can think of is first reading the data as you would do in r, using read.table(), and then create spark DataFrame out of that R dataframe, but it is obviously not scalable. 


2015-06-25 13:59 GMT-07:00 Shivaram Venkataraman <shivaram@eecs.berkeley.edu>:
The `head` function is not supported for the RRDD that is returned by `textFile`. You can run `take(lines, 5L)`. I should add a warning here that the RDD API in SparkR is private because we might not support it in the upcoming releases. So if you can use the DataFrame API for your application you should try that out.

Thanks
Shivaram

On Thu, Jun 25, 2015 at 1:49 PM, Wei Zhou <zhweisophie@gmail.com> wrote:
Hi Alek,

Just a follow up question. This is what I did in sparkR shell:

lines <- SparkR:::textFile(sc, "./README.md")
head(lines)

And I am getting error:

"Error in x[seq_len(n)] : object of type 'S4' is not subsettable"

I'm wondering what did I do wrong. Thanks in advance.

Wei


2015-06-25 13:44 GMT-07:00 Wei Zhou <zhweisophie@gmail.com>:
Hi Alek,

Thanks for the explanation, it is very helpful. 

Cheers,
Wei

2015-06-25 13:40 GMT-07:00 Eskilson,Aleksander <Alek.Eskilson@cerner.com>:
Hi there,

The tutorial you’re reading there was written before the merge of SparkR for Spark 1.4.0
For the merge, the RDD API (which includes the textFile() function) was made private, as the devs felt many of its functions were too low level. They focused instead on finishing the DataFrame API which supports local, HDFS, and Hive/HBase file reads. In the meantime, the devs are trying to determine which functions of the RDD API, if any, should be made public again. You can see the rationale behind this decision on the issue’s JIRA [1].

You can still make use of those now private RDD functions by prepending the function call with the SparkR private namespace, for example, you’d use 
SparkR:::textFile(…).

Hope that helps,
Alek


From: Wei Zhou <zhweisophie@gmail.com>
Date: Thursday, June 25, 2015 at 3:33 PM
To: "user@spark.apache.org" <user@spark.apache.org>
Subject: sparkR could not find function "textFile"

Hi all,

I am exploring sparkR by activating the shell and following the tutorial here https://amplab-extras.github.io/SparkR-pkg/

And when I tried to read in a local file with textFile(sc, "file_location"), it gives an error could not find function "textFile". 

By reading through sparkR doc for 1.4, it seems that we need sqlContext to import data, for example.
people <- read.df(sqlContext, "./examples/src/main/resources/people.json", "json"
)
And we need to specify the file type. 

My question is does sparkR stop supporting general type file importing? If not, would appreciate any help on how to do this.

PS, I am trying to recreate the word count example in sparkR, and want to import README.md file, or just any file into sparkR.

Thanks in advance.

Best,
Wei
  
CONFIDENTIALITY NOTICE This message and any included attachments are from Cerner Corporation and are intended only for the addressee. The information contained in this message is confidential and may constitute inside or non-public information under international, federal, or state securities laws. Unauthorized forwarding, printing, copying, distribution, or use of such information is strictly prohibited and may be unlawful. If you are not the addressee, please promptly delete this message and notify the sender of the delivery error by e-mail or you may call Cerner's corporate offices in Kansas City, Missouri, U.S.A at (+1) (816)221-1024.