spark2.x shell 客户端操作sparkSQL
2017-01-07 14:04
295 查看
1.客户端启动shell
进入spark安装目录bin/spark-shell --master spark://IP:7077 --executor-memory 1g
2.scala操作
(1)把HDFS上的文件映射为表
启动sparkSession对象:val spark = org.apache.spark.sql.SparkSession.builder().appName("SparkSessionZipsExample").config("spark.sql.crossJoin.enabled", "true").getOrCreate()
建立表映射类:
case class User (id:String,name:String,age:String)
文件与表映射并过滤掉长度不够的字段(文件以“\t”隔开,映射后表名为user):
spark.read.textFile("hdfs://IP:9000/xxxx/user").map(_.split("\t", -1)).filter(r => r match { case i if (i.length >= 3) => true case _ => false }).map(r => User(r(0).trim, r(1).trim, r(2).trim)).createOrReplaceTempView("user")
像数据库一样操作文件:
spark.sql("select * from user").show()
(2)把数据库上的表映射到sparkSession中
启动sparkSession对象:val spark = org.apache.spark.sql.SparkSession.builder().appName("SparkSessionZipsExample").config("spark.sql.crossJoin.enabled", "true").getOrCreate()
配置数据库信息
val prop = new java.util.Properties()
prop.put("user", "postgres")
prop.put("password", "123456")
加载数据库表
spark.read.jdbc("jdbc:postgresql://IP:5432/risk", "user", prop).createOrReplaceTempView("user")
像数据库一样操作文件:
spark.sql("select * from user").show()
(3)把List数据集映射为表
启动sparkSession对象:val spark = org.apache.spark.sql.SparkSession.builder().appName("SparkSessionZipsExample").config("spark.sql.crossJoin.enabled", "true").getOrCreate()
建立表映射类:
case class User (id:String,name:String,age:String)
组装数据集
val userList: ListBuffer[User] = ListBuffer()
for(int i=0;i<100;i++){
userList += User(i,"xm","23")
}
spark加载数据集
sparkSession.createDataFrame(userList).createOrReplaceTempView("user")
像数据库一样操作文件:
spark.sql("select * from user").show()
相关文章推荐
- DevExpress Asp.net(1) AspxButton的客户端操作(转)
- ubuntu15.04 C客户端操作mysql
- java客户端操作hdfs权限问题初探
- DNS BIND之dnsjava java客户端操作
- Excel操作:导出到Excel并下载到web客户端
- Solr java客户端solrJ的CRUD操作
- navicat for oracle注册机使用教程oracle客户端安装数据库操作
- Windows下SVN服务器搭建和基本操作(服务端、客户端)
- Windows下svn客户端TortoiseSVN的安装和操作
- windows下java swt实现操作redis的客户端工具
- GIT客户端(TortoiseGit上传代码到GitHub)操作流程
- svn客户端命令操作(二)
- SVN的使用总结(2)--Windows下svn客户端TortoiseSVN的安装和操作
- 如何在Rational ClearQuest客户端中隐藏操作
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- C#客户端的异步操作
- android 通过客服端 同步 客户端的touch操作
- GitHub客户端操作3--pull Request(拉请求)
- 在客户端使用SQL Query Analyzer操作多个数据库
- java使用svnkit操作svn客户端