sparksql保存数据常见操作
sparksql保存数据操作
import org.apache.spark.SparkConf
import org.apache.spark.sql.{DataFrame, SparkSession}//todo:sparksql可以把结果数据保存到不同的外部存储介质中
object SaveResult {def main(args: Array[String]): Unit = {//1、创建SparkConf对象val sparkConf: SparkConf = new SparkConf().setAppName("SaveResult").setMaster("local[2]")//2、创建SparkSession对象val spark: SparkSession = SparkSession.builder().config(sparkConf).getOrCreate()//3、加载数据源val jsonDF: DataFrame = spark.read.json("E:\\data\\score.json")//4、把DataFrame注册成表jsonDF.createTempView("t_score")//todo:5、统计分析val result: DataFrame = spark.sql("select * from t_score where score > 80")//保存结果数据到不同的外部存储介质中//todo: 5.1 保存结果数据到文本文件 ---- 保存数据成文本文件目前只支持单个字段,不支持多个字段result.select("name").write.text("./data/result/123.txt")//todo: 5.2 保存结果数据到json文件result.write.json("./data/json")//todo: 5.3 保存结果数据到parquet文件result.write.parquet("./data/parquet")//todo: 5.4 save方法保存结果数据,默认的数据格式就是parquetresult.write.save("./data/save")//todo: 5.5 保存结果数据到csv文件result.write.csv("./data/csv")//todo: 5.6 保存结果数据到表中result.write.saveAsTable("t1")//todo: 5.7 按照单个字段进行分区 分目录进行存储result.write.partitionBy("classNum").json("./data/partitions")//todo: 5.8 按照多个字段进行分区 分目录进行存储result.write.partitionBy("classNum","name").json("./data/numPartitions")spark.stop()}}
sparksql保存数据常见操作相关推荐
- Python之字典类型数据常见操作及排序
一.Python 字典 Python 的字典 dictionary 是一种灵活的数据结构类型,字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)分割. Python ...
- Scrapy 入门笔记(4) --- 使用 Pipeline 保存数据
写在前面 我是 AhriJ邹同学,前后端.小程序.DevOps 都搞的炸栈工程师.博客持续更新,如果觉得写的不错,欢迎点赞.评论.关注老铁三连,不好的话也欢迎指正,互相学习,共同进步. 最近学习用 S ...
- 在单链表写入一组数据代码_链表常见操作和15道常见面试题
什么是单链表 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组那样 ...
- sparksql 保存点_Spark(十二)【SparkSql中数据读取和保存】
一. 读取和保存说明 SparkSQL提供了通用的保存数据和数据加载的方式,还提供了专用的方式 读取:通用和专用 保存 保存有四种模式: 默认: error : 输出目录存在就报错 append: 向 ...
- matlab保存数据用什么指令_Matlab数据处理——数据的保存和读取方法操作
1:dlmwrite()函数保存成txt文件 使用方法: dlmwrite('filename', M) 使用默认分隔符","将矩阵M写入文本文件filename中: dlmwri ...
- Pandas处理日期数据的常见操作集锦
Pandas处理日期数据的常见操作集锦 数据读取及整理 获取某个日期之前/后或时间区间的数据 python 获取当前时间及前一天时间 pandas的日期时间间隔运算选取指定时间范围内/外的数据 利用p ...
- SparkSQL之DataFrame 编程(创建DataFrame ,DataFrame数据运算操作 ,输出存储DataFrame)(11)
一 新的编程入口 SparkSession SparkSession 是 Spark 最新的 SQL 查询起始点 ,实质上是 SQLcontext 和 SparkContext 的组合 ,所以在 S ...
- 大数据常见面试问题汇总
目录 第1章 核心技术 1.1 Linux&Shell 1.1.1 Linux常用高级命令 1.1.2 Shell常用工具及写过的脚本 1.1.3 Shell中单引号和双引号区别 1.2 Ha ...
- 路径,文件,目录,I/O常见操作汇总
摘要: 文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案 ...
最新文章
- 慢慢学Linux驱动开发,第十章,GNU C的扩展
- 测序技术及常见的有几种平台类型
- 基于弹性束图匹配的人脸识别
- leetcode 分饼干 贪心算法python
- 【Docker】docker attach 卡住的问题
- 【51单片机快速入门指南】4.3.1: MPU6050调用DMP库获取四元数和欧拉角
- positional encoding位置编码详解:绝对位置与相对位置编码对比
- php文件上传前端页面样式,HTML实现美化上传文件样式
- 5g理论速度_华为5G随行WiFi Pro 有多强 我们试一下NSA网络下的5G速度
- freebsd安装ports
- 微软云中国策略的下一步:驱动AI生态
- 使用qume启动虚拟机的时候出现:“启动域时出错: Requested operation is not valid: network ‘default‘ is not active”
- 华硕 tuf b360 efi_技嘉小雕、微星迫击炮、华硕电竞特工三款主板对比
- Java SE基础教程——Eclipse开发工具的安装与使用
- ADC最佳SNR性能取决于输入低噪声信号和基准电压
- php yar call,php yar扩展在laravel中的使用
- Appium报错:java.lang.SecurityException: uid 2000 does not have android.permission.WRITE_SECURE_SETTING
- Springboot整支付宝网站支付、APP支付、单笔转账给用户、退款功能
- 网页脚本输入这么简单
- 软考知识点---20标准化与法律法规
热门文章
- java或异运算_java中与运算,或运算,异或运算,取反运算
- 邻接矩阵和邻接表_[力扣743] 带权邻接表的单源最短路
- hashmap扩容机制_图文并茂:HashMap经典详解!
- php fckeditor demo,如何使用PHP添加fckeditor
- python删除txt指定内容_使用Python删除文本文件中的部分内容 | 学步园
- 2019年Java初级和高级部分的技术面试
- python爬虫分析_Python爬虫解析网页的4种方式
- python 降维 聚类_比PCA降维更高级——(R/Python)t-SNE聚类算法实践指南
- 调节e18-d80nk的测量距离_地坪研磨机磨盘平整度的调节方法及好处
- 【LeetCode笔记】560. 和为K的子数组(Java、前缀和、哈希表)