• 【转+修正】在Windows和Rstudio下本地安装SparkR


    (根据最新情况进行修正)

    毋庸置疑,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中运行

    ​#(附一个例子)
    
    ​# Set the system environment variables
    
    Sys.setenv(SPARK_HOME = "C:/Apache/spark-1.6.1")
    
    .libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))

    #注意把spark-1.6.1目录下R目录下的lib里面的SparkR放入R的library里面,否则无法直接安装sparkR的包​

    R的library地址可通过如下方式进行查看:
    .libPaths() 默认情况下会将新的lib库安装在第一个地址中(默认地址)
    #load the Sparkr library
    
    library(SparkR)
    
    # Create a spark context and a SQL context
    
    sc <- sparkR.init(master = "local")
    
    sqlContext <- sparkRSQL.init(sc)
    
    #create a sparkR DataFrame
    
    DF <- createDataFrame(sqlContext, faithful)
    
    head(DF)
    
    # Create a simple local data.frame
    
    localDF <- data.frame(name=c("John", "Smith", "Sarah"), age=c(19, 23, 18))
    
    # Convert local data frame to a SparkR DataFrame
    
    df <- createDataFrame(sqlContext, localDF)
    
    # Print its schema
    
    printSchema(df)
    
    # root
    
    # |-- name: string (nullable = true)
    
    # |-- age: double (nullable = true)
    
    # Create a DataFrame from a JSON file
    
    path <- file.path(Sys.getenv("SPARK_HOME"), "examples/src/main/resources/people.json")
    
    peopleDF <- jsonFile(sqlContext, path)
    
    printSchema(peopleDF)
    
    # Register this DataFrame as a table.
    
    registerTempTable(peopleDF, "people")
    
    # SQL statements can be run by using the sql methods provided by sqlContext
    
    teenagers <- sql(sqlContext, "SELECT name FROM people WHERE age >= 13 AND age <= 19")
    
    # Call collect to get a local data.frame
    
    teenagersLocalDF <- collect(teenagers)
    
    # Print the teenagers in our dataset
    
    print(teenagersLocalDF)
    
    # Stop the SparkContext now
    
    sparkR.stop()

    # 另一个例子 wordcount--------------
    
    # 来源 http://www.cnblogs.com/hseagle/p/3998853.html
    
    sc <- sparkR.init(master="local", "RwordCount")
    
    lines <- textFile(sc, "README.md")
    ——————“textFile”函数从sparkR1.4之后就无法使用了,之后的sparkR必须通过SqlContext来加载数据,如下所示:
    people <- read.df(sqlContext, "./examples/src/main/resources/people.json", "json" )
    除此之外还支持csv、parquet、hive数据等等。
    
    words <- flatMap(lines,
    
                     function(line) {
    
                       strsplit(line, " ")[[1]]
    
                     })
    
    wordCount <- lapply(words, function(word) { list(word, 1L) })
    
    counts <- reduceByKey(wordCount, "+", 2L)
    
    output <- collect(counts)
    
    for (wordcount in output) {
    
      cat(wordcount[[1]], ": ", wordcount[[2]], "
    ")
    
    }

     

    原文地址: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)

  • 相关阅读:
    net core3.1打造webapi开发框架的实践
    监控以及分析js的内存泄漏场景
    rabbitmq几种常见模式的应用场景
    云原生(Cloud Native)
    MySQL数据库备份工具mysqldump的使用(转)
    MySQL的冷备份和热备份概念理解(转)
    MySQL命令行工具各功能说明(转)
    PostgreSQL增强版命令行客户端(pgcli)
    MySQL增强版命令行客户端连接工具(mycli)
    Linux下生成随机密码(转)
  • 原文地址:https://www.cnblogs.com/taisenki/p/5551844.html
Copyright © 2020-2023  润新知