在sparkR在配置完成的基础上,本例采用Spark on yarn模式,介绍sparkR运行的一个例子。

在spark的安装目录下,/examples/src/main/r,有一个dataframe.R文件。该文件默认是在本地的模式下运行的,不与hdfs交互。可以将脚本进行相应修改,提交到yarn模式下。

在提交之前,要先将${SPARK_HOME}/examples/src/main/resources/people.json 文件上传到hdfs上,我上传到了hdfs://data-mining-cluster/data/bigdata_mining/sparkr/people.json 目录下。

  1. dataframe.R文件内容:
  1. # Convert local data frame to a SparkR DataFrame
  2. df <- createDataFrame(sqlContext, localDF)
  3. # Print its schema
  4. printSchema(df)
  5. # root
  6. #  |-- name: string (nullable = true)
  7. #  |-- age: double (nullable = true)
  8. # Create a DataFrame from a JSON file
  9. #path <- file.path("hdfs://data-mining-cluster/data/bigdata_mining/sparkr/people.json")
  10. path <- file.path("hdfs://data-mining-cluster/data/bigdata_mining/sparkr/people.json")
  11. peopleDF <- read.json(sqlContext, path)
  12. printSchema(peopleDF)
  13. # Register this DataFrame as a table.
  14. registerTempTable(peopleDF, "people")
  15. # SQL statements can be run by using the sql methods provided by sqlContext
  16. teenagers <- sql(sqlContext, "SELECT name FROM people WHERE age >= 13 AND age <= 19")
  17. # Call collect to get a local data.frame
  18. teenagersLocalDF <- collect(teenagers)
  19. # Print the teenagers in our dataset
  20. print(teenagersLocalDF)
  21. # Stop the SparkContext now
  22. sparkR.stop()

sparkR  --master yarn-client dataframe.R  这样就可以将任务提交到yarn上了。

另外,有些集群会报如下错误:

  1. 16/06/16 11:40:35 ERROR RBackendHandler: json on 15 failed
  2. Error in invokeJava(isStatic = FALSE, objId$id, methodName, ...) :
  3. java.lang.RuntimeException: Error in configuring object
  4. at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
  5. at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
  6. at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
  7. at org.apache.spark.rdd.HadoopRDD.getInputFormat(HadoopRDD.scala:185)
  8. at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:198)
  9. at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
  10. at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
  11. at scala.Option.getOrElse(Option.scala:120)
  12. at org.apache.spark.rdd.RDD.partitions(RDD.scala:237)
  13. at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
  14. at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)
  15. at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237)
  16. at scala.Option.getOrElse(Option.scala:120)
  17. at org.apache.spark.rdd.RDD.partitions(
  18. Calls: read.json -> callJMethod -> invokeJava

这种情况一般是由于启用了lzo压缩导致的。可以通过--jars  添加lzo的jar包,就可以了。例如:sparkR  --master yarn-client dataframe.R --jars /usr/local/Hadoop/share/hadoop/common/hadoop-lzo-0.4.20-SNAPSHOT.jar

sparkR的一个运行的例子的更多相关文章

  1. [Linux][Hadoop] 运行WordCount例子

    紧接上篇,完成Hadoop的安装并跑起来之后,是该运行相关例子的时候了,而最简单最直接的例子就是HelloWorld式的WordCount例子.   参照博客进行运行:http://xiejiangl ...

  2. Spring-Context之一:一个简单的例子

    很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...

  3. 一个UWSGI的例子

    摘要:uwsgi执行顺序:启动master进程,执行python脚本的公共代码(import同一层).然后生成worker进程,uwsgi.post_fork_hook=init_functions, ...

  4. 扩展Python模块系列(二)----一个简单的例子

    本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...

  5. fitnesse - 一个简单的例子(slim)

    fitnesse - 一个简单的例子(slim) 2017-09-30 目录1 编写测试代码(Fixture code)2 编写wiki page并运行  2.1 新建wikiPage  2.2 运行 ...

  6. Struts2的配置和一个简单的例子

    Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...

  7. 跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击

    跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击 一.总结 一句话总结:比如用户留言功能,用户留言中写的是网页可执行代码,例如js代码,然后这段代码在可看到这段留言的不同一户的显示上就会 ...

  8. 从一个简单的例子谈谈package与import机制

    转,原文:http://annie09.iteye.com/blog/469997 http://blog.csdn.net/gdsy/article/details/398072 这两篇我也不知道到 ...

  9. OpenCV学习(2)——一个简单的例子

    光说不练假把式,来看一个简单的例子,了解了解OpenCV.这个小demo没有几行代码,作用是显示项目目录下面的一张图片. #include <opencv2\opencv.hpp> #in ...

随机推荐

  1. navicat cannot create oci 解决

    1.新建连接 2.连接时候报错 3.解决 3.1.选择对应版本OCI 3.1.配置OCI[工具->选项...]

  2. 负载均衡层次结构:LVS Nginx DNS CDN

    文章地址:http://blog.csdn.net/mindfloating/article/details/51020767 作为后端应用的开发者,我们经常开发.调试.测试完我们的应用并发布到生产环 ...

  3. PhotoShop CS6学习笔记

    学习目的是能够处理正常的数码照片,稍作修饰即可.高级功能不做要求.但笔记还是要做的,以后翻翻可以加深记忆. 对于平面设计来说,软件是基础,创意是灵魂. 1. 位图与矢量图 位图,又称为点阵图像或绘制图 ...

  4. ios. GCD 倒计时时间

    //倒计时时间 __block int timeout = 60; dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_ ...

  5. FFmpeg(3)-AVFormatContext 结构体内容分析

    AVIOContext *pb                          IO Context,.自定义一些读写格式或者从内存当中读时用到此成员变量. char filename[1024]; ...

  6. 不可恢复的生成错误mergemod.dll 2.0.2600.0

    在进行Visual Studio 2008 进行Winform打包时,提示 不可恢复的生成错误,很是郁闷,1.在“开始 - 运行” 中输入以下内容分三次来重新注册下Mergemod.dll. regs ...

  7. 将docker的image转移到数据盘

    1. 将 /var/lib/docker 移至数据盘 原因: docker运行中产生较大文件,以及pull下来的images会占用很多空间: 注意:在执行前确认docker已经启动,sudo dock ...

  8. Python模块学习——tempfile

    主要有以下几个函数: tempfile.TemporaryFile 如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择.其 ...

  9. 【DMQ引擎】-DMQ多进程插件引擎服务平台介绍

    写过服务端项目的程序员可能都有非常痛苦的经历,服务端经常奔溃,无从查起.的确一个服务端要稳定下来要经过长期的积累,不停的测试,调试,发现问题,解决问题.这个周期可能很长,几个月,甚至以年计算.许多企业 ...

  10. Unity编辑器下,界面替换NGUI字体以及字号

    项目中有需要批量替换字体以及字号的需求,一般也就是多语言处理吧. 提供界面如下: 手机拍图,就这样凑合看吧.但是代码不打折. 紧急避让,我只提供修改UILabel以及UIPopupList 下的字体, ...