(根据最新情况进行修正)
毋庸置疑,Spark已经成为最火的大数据工具,本文详细介绍安装SparkR的方法,让你在5分钟之内能在本地使用。
?环境要求:java 7+ 、R 及 Rstudio
Rtools
(下载地址:https://cran.r-project.org/bin/windows/Rtools/)
第一步:下载Spark
?在浏览器打开 http://spark.apache.org/,点击右边的绿色按钮“Download Spark”
你会看到如下页面:
?按照上面的 1到
3 创建下载链接。
在“2. Choose a package
type” 选项中,选择一个 pre-built
的类型(如下图)。
因为我们打算在Windows下本地运行,所以选择 Pre-built package for Hadoop 2.6 and later 。
在“3. Choose a download type” 选择 “Direct Download” 。
选好之后,一个下载链接就在4. Download Spark”创建好了。?
把这个压缩文件下载到你的电脑上。
第二步:解压缩安装文件
?解压缩到路径“C:/Apache/Spark-1.4.1″
?第三步:用命令行运行(此步需要配置完成R和其他的环境变量后才能生效,如果不需要命令行窗口,可直接跳过此步骤)
?打开命令行窗口(开始-搜索框中输入cmd),更改路径:
输入命令 ".insparkR"
?成功后会看到一些日志,大约15s后,一切顺利的话,会有“Welcome
to SparkR!”
设置环境变量:
?在“我的电脑”右击,选择“属性”:
?选择“Advanced system settings”
?点击“Environment Variables”,在下面的“System variables“里面找到Path,并加入“C:ProgramDataOracleJavajavapath;“
?第四步:在Rstudio中运行?
<span>?#(附一个例子)
?# Set the system environment variables
Sys.setenv(SPARK_HOME </span>= <span>"</span><span>C:/Apache/spark-1.6.1</span><span>"</span><span>)
.libPaths(c(file.path(Sys.getenv(</span><span>"</span><span>SPARK_HOME</span><span>"</span>), <span>"</span><span>R</span><span>"</span>, <span>"</span><span>lib</span><span>"</span>), .libPaths()))
#注意把spark-1.6.1目录下R目录下的lib里面的SparkR放入R的library里面,否则无法直接安装sparkR的包?
<span>R的library地址可通过如下方式进行查看:<br />
.libPaths()
默认情况下会将新的lib库安装在第一个地址中(默认地址)</span>
<span>#load the Sparkr library
library(SparkR)
# Create a spark context and a SQL context
sc </span><- sparkR.init(master = <span>"</span><span>local</span><span>"</span><span>)
sqlContext </span><-<span> sparkRSQL.init(sc)
#create a sparkR DataFrame
DF </span><-<span> createDataFrame(sqlContext, faithful)
head(DF)
# Create a simple local data.frame
localDF </span><- data.frame(name=c(<span>"</span><span>John</span><span>"</span>, <span>"</span><span>Smith</span><span>"</span>, <span>"</span><span>Sarah</span><span>"</span>), age=c(<span>19</span>, <span>23</span>, <span>18</span><span>))
# Convert local data frame to a SparkR DataFrame
df </span><-<span> createDataFrame(sqlContext, localDF)
# Print its schema
printSchema(df)
# root
# </span>|-- name: <span>string</span> (nullable = <span>true</span><span>)
# </span>|-- age: <span>double</span> (nullable = <span>true</span><span>)
# Create a DataFrame </span><span>from</span><span> a JSON file
path </span><- file.path(Sys.getenv(<span>"</span><span>SPARK_HOME</span><span>"</span>), <span>"</span><span>examples/src/main/resources/people.json</span><span>"</span><span>)
peopleDF </span><-<span> jsonFile(sqlContext, path)
printSchema(peopleDF)
# Register </span><span>this</span> DataFrame <span>as</span><span> a table.
registerTempTable(peopleDF, </span><span>"</span><span>people</span><span>"</span><span>)
# SQL statements can be run by </span><span>using</span><span> the sql methods provided by sqlContext
teenagers </span><- sql(sqlContext, <span>"</span><span>SELECT name FROM people WHERE age >= 13 AND age <= 19</span><span>"</span><span>)
# Call collect to </span><span>get</span><span> a local data.frame
teenagersLocalDF </span><-<span> collect(teenagers)
# Print the teenagers </span><span>in</span><span> our dataset
print(teenagersLocalDF)
# Stop the SparkContext now
sparkR.stop()</span>
?
# 另一个例子 wordcount--------------<span> # 来源 http:</span><span>//</span><span>www.cnblogs.com/hseagle/p/3998853.html</span><span> sc </span><- sparkR.init(master=<span>"</span><span>local</span><span>"</span>, <span>"</span><span>RwordCount</span><span>"</span><span>) lines </span><- textFile(sc, <span>"</span><span>README.md</span><span>"</span><span>)</span>
<span>
<span>——————“textFile”函数从sparkR1.4之后就无法使用了,之后的sparkR必须通过SqlContext来加载数据,如下所示:</span>
</span>
<br />people <-<span> read.df(sqlContext,
</span><span>"</span><span>./examples/src/main/resources/people.json</span><span>"</span>, <span>"</span><span>json</span><span>"</span><span>
)<br />除此之外还支持csv、<code>parquet</code>、hive数据等等。<br /></span>
<span>
words </span><-<span> flatMap(lines,
function(line) {
strsplit(line, </span><span>"</span><span>"</span>)[[<span>1</span><span>]]
})
wordCount </span><- lapply(words, function(word) { list(word, <span>1L</span><span>) })
counts </span><- reduceByKey(wordCount, <span>"</span><span>+</span><span>"</span>, <span>2L</span><span>)
output </span><-<span> collect(counts)
</span><span>for</span> (wordcount <span>in</span><span> output) {
cat(wordcount[[</span><span>1</span>]], <span>"</span><span>: </span><span>"</span>, wordcount[[<span>2</span>]], <span>"</span><span>
</span><span>"</span><span>)
}</span>
?原文地址:http://www.r-bloggers.com/installing-and-starting-sparkr-locally-on-windows-os-and-rstudio/
?参考资料:
1. 安装 http://blog.csdn.net/jediael_lu/article/details/45310321
2. 安装 http://thinkerou.com/2015-05/How-to-Build-Spark-on-Windows/
3. 徽沪一郎的博客:http://www.cnblogs.com/hseagle/p/3998853.html
4. 学习 http://www.r-bloggers.com/a-first-look-at-spark/?
5. 学习 http://www.danielemaasit.com/getting-started-with-sparkr/
6. ??错误解决:http://stackoverflow.com/questions/10077689/r-cmd-on-windows-7-error-r-is-not-recognized-as-an-internal-or-external-comm
7.SparkR官方指导 http://spark.apache.org/docs/latest/sparkr.html#from-local-data-frames(中文版:http://www.iteblog.com/archives/1385)
原文:http://www.cnblogs.com/taisenki/p/5551844.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!