博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二、spark SQL交互scala操作示例
阅读量:6588 次
发布时间:2019-06-24

本文共 970 字,大约阅读时间需要 3 分钟。

一、安装spark

spark SQL是spark的一个功能模块,所以我们事先要安装配置spark,参考:

二、数据准备

演示操作将从一个类似json文件里面读取数据作为数据源,并初始化为dataframe,我们准备一个user.json文件

在/usr/local/hadoop/spark目录(可以自定义目录)下新建一个user.json文件内容如下:

{"id" : "1201", "name" : "satish", "age" : "25"}{
"id" : "1202", "name" : "krishna", "age" : "28"}{
"id" : "1203", "name" : "amith", "age" : "39"}{
"id" : "1204", "name" : "javed", "age" : "23"}{
"id" : "1205", "name" : "prudvi", "age" : "23"}

文件内容类似json,但是不是json,按照一行一行的结构

三、spark SQL示例

先启动spark-shell

spark-shell

初始化一个SQLContext,传入sparkContext

var sqlContext = new org.apache.spark.sql.SQLContext(sc)

读取user.json文件作为dataFrame

var dfs = sqlContext.read.json("/usr/local/hadoop/spark/user.json")

dataFrame操作

查询age > 25的name的数据

dfs.filter(dfs("age") > 25).select("name").show()

你会看到

 sql操作

创建一个临时表

dfs.createOrReplaceTempView("t_user")

编写SQL

var sqlDf = spark.sql("select * from t_user where age > 25")

显示结果

sqlDf.show()

显示如下

 

转载于:https://www.cnblogs.com/lay2017/p/10008457.html

你可能感兴趣的文章
Java线程池使用和源码分析
查看>>
maven创建web工程
查看>>
C# 操作EXCEL导出数据报表的类
查看>>
doT.js模板引擎及基础原理
查看>>
Troubleshooting Guide for ORA-12541 TNS: No Listener
查看>>
web 开发之nginx--- 阿里云部署nginx
查看>>
GridView的DataFormatString格式化字符串
查看>>
Tomcat部署方式
查看>>
[C# 网络编程系列]专题五:TCP编程
查看>>
单例模式——宏的实现
查看>>
【LeetCode 36_哈希表】Valid Sudoku
查看>>
线程池? 如何设计一个动态大小的线程池,有哪些方法?
查看>>
返回一个整数数组中最大子数组的和
查看>>
JAVA 冒泡排序代码
查看>>
画三角形和直角三角形
查看>>
面试题随笔
查看>>
SDUT OJ 数据结构实验之二叉树一:树的同构
查看>>
Virtualbox - 共享文件夹
查看>>
[摘录]高效人士七习惯—重新探索自我
查看>>
h5手机摇一摇
查看>>