PySpark读取数据与保存

简介: PySpark读取数据与保存

Spark支持多种数据源如下


  • 文件格式与文件系统
  • 对于存储在本地文件系统或分布式文件系统(HDFS、NFS)等的数据,Spark可以访问很多种不同的文件格式,包括文本文件、JSON、SequenceFile以及protocol buffer
  • spark sql中结构化数据源

  • 数据库与键值存储

文件格式


格式名称 结构化 备注
文本文件 普通的文本文件,每一行一条记录
JSON 半结构化 常见的基于文本的格式,半结构化
CSV 非常常见的基于文本的格式,通常的电子表格应用中使用
SequenceFiles 一种用于键值对数据常见Hadoop文件格式
Protocol buffers 一种快速,节约空间的跨语言格式
对象文件 用来将Spark作业中的数据存储下来以让共享的代码读取·


文件保存


from pyspark import SparkContext,SparkConf
if __name__ == '__main__':
    conf=SparkConf().setAppName("save file").setMaster("local")
    sc=SparkContext(conf=conf)
    rdd=sc.parallelize(range(1,1000))
    rdd.saveAsTextFile("new_rdd")


sql读取保存文件


from pyspark import SparkContext,SparkConf
from pyspark.sql import SparkSession
import sys
if __name__ == '__main__':
#配置spark环境
    conf=SparkConf().setAppName("save file").setMaster("local")
    sc=SparkContext(conf=conf)
    rdd=sc.textFile('dict.txt',2).map(lambda x:x.strip('\n').split())
#配置DataFrame环境 
    spark=SparkSession.builder.appName("to json").getOrCreate()
    df=spark.createDataFrame(rdd,['id','freq','label'])
    df.write.csv('data_tocsv',mode='overwrite')
    df.write.json('dict_tojson',mode='overwrite')
    df.write.parquet('dict_toparquet',mode='overwrite')
    df.write.saveAsTable("dict_totabel")


其SparkSession模块包含SQLContext和HiveContext来分别执行配置

相关文章
|
存储 JSON 数据格式
解密 parquet 文件,以及如何用 Python 去处理它(一)
解密 parquet 文件,以及如何用 Python 去处理它
3056 1
|
jenkins 持续交付 开发工具
SonarQube集成Jenkins自动化检查代码
SonarQube集成Jenkins自动化检查代码
SonarQube集成Jenkins自动化检查代码
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
存储 人工智能 算法
AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)
AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)
1878 0
|
机器学习/深度学习 缓存 数据可视化
Streamlit入门指南
Streamlit是Python库,用于创建交互式数据科学和机器学习Web应用。它简化了定制Web应用的创建,提供内置小部件和工具进行数据展示、用户输入处理和自定义可视化。快速入门涉及安装Streamlit、导入库、定义应用并使用`streamlit run`命令运行。示例代码展示了如何创建一个显示滑块和正弦图的应用。最佳实践包括组织代码、利用缓存、优化布局以及使用内置功能。Streamlit Gallery提供了更多应用示例,如文本生成器和图像分类器。
1663 0
|
JavaScript 前端开发 iOS开发
开源/免费/强大的移动端触摸滑动插件 — Swiper
Swiper是一款免费及轻量级的移动设备触控滑块的框架,使用硬件加速过渡(如果该设备支持的话),主要使用与移动端的网站/网页应用程序(web apps)/原生应用程序(native apps),主要是为IOS而设计的,同时在Android/WP8系统及现代桌面浏览器也有着良好的用户体验 swipe.
10557 5
|
人工智能 达摩院 自然语言处理
覆盖200+服务场景,阿里「通义」大模型系列打造国内首个AI统一底座(2)
覆盖200+服务场景,阿里「通义」大模型系列打造国内首个AI统一底座
4302 0
x,y,zMODEM协议
▀XMODEM协议介绍 XMODEM协议,是最早出现的2台计算机间通过RS232异步串口进行文件传输的通信协议标准,相对于YMODEM,ZMODEM等其他文件传送协议来说,XMODEM协议实现简单,适合于那些存储器有限的场合。
2624 0
|
XML Android开发 数据格式
autojs一键锁屏
牙叔教程 简单易懂
807 0
|
云安全 运维 负载均衡
【纯干货】针对《等保2.0》要求的云上最佳实践——网络安全篇
伴随着国内企业上云步伐的加快,越来越多的企业需要对云上关键业务进行等级保护自查或完成相关认证。本文以《GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求》中所要求的三级标准为参考,重点关注其中所涉及的网络安全高危风险部分,为企业提供阿里云上有针对性的安全建设最佳实践,助力企业构建层次化的云上网络安全防御体系,保障核心业务的安全运行。
3333 1
【纯干货】针对《等保2.0》要求的云上最佳实践——网络安全篇

热门文章

最新文章

下一篇
开通oss服务