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来分别执行配置

相关文章
|
存储 人工智能 算法
AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)
AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)
1529 0
|
XML Android开发 数据格式
autojs一键锁屏
牙叔教程 简单易懂
702 0
|
SQL 分布式计算 数据挖掘
PySpark数据分析基础:PySpark Pandas创建、转换、查询、转置、排序操作详解
PySpark数据分析基础:PySpark Pandas创建、转换、查询、转置、排序操作详解
1121 0
PySpark数据分析基础:PySpark Pandas创建、转换、查询、转置、排序操作详解
|
存储 JSON 数据格式
解密 parquet 文件,以及如何用 Python 去处理它(一)
解密 parquet 文件,以及如何用 Python 去处理它
1944 1
|
分布式计算 算法 Java
python中内存错误(MemoryError)
【7月更文挑战第15天】
2153 4
|
大数据 关系型数据库 数据库
python 批量处理大数据写入数据库
python 批量处理大数据写入数据库
698 0
|
SQL 存储 人工智能
Flink 在蚂蚁实时特征平台的深度应用
本文整理自蚂蚁集团高级技术专家赵亮星云,在 Flink Forward Asia 2023 AI 特征工程专场的分享。
2257 3
Flink 在蚂蚁实时特征平台的深度应用
|
消息中间件 存储 安全
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(下)
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(下)
|
XML Java Android开发
ListPreference详解与使用
ListPreference详解与使用
|
机器学习/深度学习 缓存 数据可视化
Streamlit入门指南
Streamlit是Python库,用于创建交互式数据科学和机器学习Web应用。它简化了定制Web应用的创建,提供内置小部件和工具进行数据展示、用户输入处理和自定义可视化。快速入门涉及安装Streamlit、导入库、定义应用并使用`streamlit run`命令运行。示例代码展示了如何创建一个显示滑块和正弦图的应用。最佳实践包括组织代码、利用缓存、优化布局以及使用内置功能。Streamlit Gallery提供了更多应用示例,如文本生成器和图像分类器。
1433 0