基于spark1.4.1的sparkR的实例操作

[Author]: kwu

基于spark1.4.1的sparkR的实例操作,sparkR的操作基本语法与R一致,其中添加了rJava、rhdfs、SparkR的依赖库的支持。

1、集群启动SparkR

输入 bdcmagicR

关于启动脚本的封装参看 : http://blog.csdn.net/bdchome/article/details/48092499

2、加载依赖库

library("rJava")
library("rhdfs")
library("SparkR")

按顺序依次加载

3、sparkR操作实例

1) 基础的R

x <- 0
for(i in 1:100){
 x <- x+i
}
x

2、sparkR操作hdfs上的文件

上传文件,并查看

hdfs.init()
hdfs.put("/opt/bin/jar/people.json","hdfs://nameservice1/tmp/resources/people2.json")
hdfs.cat("hdfs://nameservice1/tmp/resources/people.json")

sparkR操作该文件,找出年龄大于30的人

sqlContext <- sparkRSQL.init(sc)
path <- file.path("hdfs://nameservice1/tmp/resources/people2.json")
peopleDF <- jsonFile(sqlContext, path)
printSchema(peopleDF)
registerTempTable(peopleDF, "people")
teenagers <- sql(sqlContext, "SELECT name FROM people WHERE age > 30")
teenagersLocalDF <- collect(teenagers)
print(teenagersLocalDF)

sparkR.stop()

返回结果:

最后需要关闭 sparkR.stop()

3、通过sparkR操作spark-sql以hive的表为对象

hqlContext <- sparkRHive.init(sc)
showDF(sql(hqlContext, "show databases"))
showDF(sql(hqlContext, "select * from ods.tracklog where day='20150815' limit 15"))
result <- sql(hqlContext, "select count(*) from ods.tracklog where day='20150815' limit 15")
resultDF  <- collect(result)
print(resultDF)
sparkR.stop()

返回结果:show databases;

查询返回结果:select * from ods.tracklog where day=‘20150815‘ limit 15

做为变量的返回:

最后需要关闭 sparkR.stop()

总结: sparkR可以完成R基础的操作,以hdfs上的操作,spark-sql的查询等。

以上实例,均在spark1.4.1上的sparkR测试通过,转载请注明出处, 和讯大数据.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-02 18:14:54

基于spark1.4.1的sparkR的实例操作的相关文章

基于CDH5.4的Spark1.4.1下SparkR的部署

[Author]: kwu (和讯大数据) 基本CDH5.4的Spark1.4.1下SparkR的部署,R与Spark的结合为数据分析提供高效的解决方案,Hadoop的中hdfs为数据分析提供分布式存储.本文介绍集成安装的步骤: 1.集群的环境 CDH5.4+Spark1.4.1 配置环境变量 #java export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera export JAVA_BIN=$JAVA_HOME/bin export CLASSPATH=

基于Dubbo的压测调优实例

不久前参与开发了一个基于dubbo分布式框架的底层账单系统,并实现了其中的一部分业务接口,目前需对这些接口进行压测,以评估生产环境所能承受的最大吞吐量.笔者以其中一个查询接口为例来回顾此次压测的整体流程. 压测准备: 1.调用查询接口的测试jar包,作为dubbo-consumer,依赖了查询服务的api,测试module基于maven开发,执行maven clean package即可通过编译得到jar包 2.JMeter:Apache组织开发的基于Java的压力测试工具 方案: 无限次请求查

基于spark1.4的Spark-Sql

Author: kwu 基于spark1.4的Spark-Sql,spark1.4.1在7月15刚公布.提供较好sql支持 1.怎样启动Spark-Sql 启动脚本例如以下 #!/usr/bin/env bash read -p "enter your username:" user read -s -p "enter your password:" pass sparksql -u jdbc:hive2://bdc:10000 -n $user -p $pass

基于PHPExcel常用方法总结(phpexcel类库实例)

分享下对PHPExcel的常用方法进行详细的总结与分析. 对phpexcel类库不熟悉的朋友,可以阅读下<phpexcel中文帮助手册>中的内容,具体实例大家可以phpexcel快速开发指南中的相关例子. 代码1: // 通常PHPExcel对象有两种实例化的方式 // 1. 通过new关键字创建空白文档 $phpexcel = newPHPExcel(); // 2. 通过读取已有的模板创建 $phpexcel =PHPExcel_IOFactory::createReader("

[oracle部署实施] 基于centos7静默安装oracle 11gr2单实例数据库

基于centos7静默安装oracle 11gr2单实例数据库 1.vmware最小化安装centos7 分配20G硬盘+2G内存+nat网络 400mboot+4Gswap 去除kdump 最小化安装 并配置网络cat /etc/sysconfig/network-scripts/ifcfg-ens32BOOTPROTO="static"DEVICE="ens32"ONBOOT="yes"IPADDR=192.168.188.11NETMASK

基于二进制安装的mariadb实现多实例

基于二进制安装的mariadb实现多实例 1.mariadb版本:10.2.23 2.二进制安装mariadb的shell脚本 #!/bin/bash id mysql &>/dev/null if [ `echo $?` -ne 0 ];then userdel -r mysql &>/dev/null useradd -r -u 336 -s /sbin/nologin -d /data/mysql mysql &>/dev/null else useradd

Flashback Drop实例操作

1.Flashback DropFlashback Drop 是从Oracle 10g 开始出现的,用于恢复用户误删除的对象(包括表,索引等), 这个技术依赖于Tablespace Recycle Bin(表空间回收站) ,这个功能和windows的回收站非常类似.Flashback 不支持sys用户. system表空间下的对象,也不能从回收站里拿到.故使用SYS 或者SYSTEM用户登陆时, show recyclebin 为空.Flashback Drop 是基于Tablespace Re

QSqlQueryModel的实例操作

QSqlQueryModel类为SQL的结果集提供了一个只读的数据模型,下面我们先利用这个类进行一个最简单的操作. 我们新建Qt4 Gui Application工程,我这里工程名为queryModel ,然后选中QtSql模块,Base class选QWidget.工程建好后,添加C++ Header File ,命名为database.h,更改其内容如下: 1.           #ifndef DATABASE_H   2.             3.           #defin

[Sqlite]--&gt;嵌入式数据库事务理解以及实例操作

SQLite 事务(Transaction) 事务(Transaction)是一个对数据库执行工作单元.事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成. 事务(Transaction)是指一个或多个更改数据库的扩展.例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务.重要的是要控制事务以确保数据的完整性和处理数据库错误. 实际上,您可以把许多的 SQLite 查询联合成一组,把所