Pyspark读写csv,txt,json,xlsx,xml,avro等文件

这篇具有很好参考价值的文章主要介绍了Pyspark读写csv,txt,json,xlsx,xml,avro等文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Spark读写txt文件

读:

df = spark.read.text("/home/test/testTxt.txt").show()
+-------------+
|        value|
+-------------+
|      a,b,c,d|
|123,345,789,5|
|34,45,90,9878|
+-------------+

2. Spark读写csv文件

读:

# 文件在hdfs上的位置
file_path = r"/user/lanyue/data.csv"
# 方法一
# 推荐这种,指定什么文件格式都可以,只需要修改参数format即可
# 不同的格式其load函数会有不同,用的时候请自行搜索。
df = spark.read.format("csv").load(file_path, header=True, inferSchema=True, encoding="utf-8", sep=',') 
# sep=',',表示指定分隔符为逗号,同参数delimiter。
# header=TRUE,表示数据的第一行为列名
# inferSchema,表示是否对字段类型进行推测。=False,默认读取后都按照文本字符处理。=True表示自动推断schema。

# 或者下面这种形式。这两种形式都可以
df = spark.read.format("csv").option("encoding","utf-8").option("header",True).load(file_path, schema=schema)  # 使用指定的schema

# 方法二
df = spark.read.csv(file_path, encoding='utf-8', header=True, inferSchema=True) 
df = spark.read.csv(file_path, encoding='utf-8', header=True, schema=schema) 
# 如果想指定文件格式是json,那就是spark.read.json,其他类似

写:

# 保存在【hdfs上】,以csv文件的格式。指定什么文件格式都可以,只需要修改参数format即可
df.repartition(1).write.mode('append').format("csv").option("encoding","utf-8").option("header",True).save("/lanyue/data.csv") 
# mode,保存模式:ovewriter重写、append文件末尾追加、error如果文件存在抛出异常、ignore如果文件存在忽略不更新
# repartition, 在yarn模式下,Spark会根据hdfs文件的块数据大小来划分默认的分区数目,但是我们也可以自己设置分区数目,使用参数repartition。=1表示只保存成一个数据块

# 或者
df.write.csv("/lanyue/data.csv", sep="\t", encoding="utf-8", mode='overwrite') 
# 如果想指定文件格式是json,那就是df.write.json,其他类似
# 通过指定参数sep,来指定分隔符,可以是",", "\t","\x01"等。同参数delimiter。

3. Spark读写parquet文件

读:

file = "/user/muzili/data.parquet"
spark_df=spark.read.parquet(file)
df.show()

写:

spark_df.write.parquet(path=file,mode='overwrite')

4. Spark读写json文件

读:

file = "/user/muzili/data.json"
df = spark.read.json(file)
df.show()

写:

df.repartition(1).write.mode('append').format("json").option("encoding","utf-8").option("header",True).save("/user/muzili/data.json")

5. Spark读写excel文件

读:

写:

6. Spark读写xml文件

读:

写:

7. Spark读写orc文件

读:

写:

8. Spark读写avro文件

读:

写:

9. Spark读写mysql中的表

读:

url="jdbc:mysql://host:port/database"
table="table_name"
driver="com.mysql.jdbc.Driver"
user="XXX"
password="XXX"

df = spark.read.format("jdbc")
      .option("url",url) # database地址,格式为jdbc:mysql://主机:端口/数据库
      .option("dbtable",table) # 表名
      .option("user",user)
      .option("password",password)
      .option("driver",driver)
      .load()
      
# 或者以下形式
df = spark.read.format('jdbc').options(url="jdbc:mysql://host:port/database", # database地址
									 driver="com.mysql.jdbc.Driver",
                                     dbtable="table_name", 
                                     user="XXX",
                                     password="XXX").load()

# 或者以下形式
# mysql的相关配置
prop = {'user': 'xxx', 
        'password': 'xxx', 
        'driver': 'com.mysql.jdbc.Driver'}
url = 'jdbc:mysql://host:port/database' # database地址
df = spark.read.jdbc(url=url, table='mysql_table_name', properties=prop)

写:文章来源地址https://www.toymoban.com/news/detail-723132.html

# 会自动对齐字段,也就是说,spark_df 的列不一定要全部包含MySQL的表的全部列才行
prop = {'user': 'xxx', 
        'password': 'xxx', 
        'driver': 'com.mysql.jdbc.Driver'}
url = 'jdbc:mysql://host:port/database' # database地址
df.write.jdbc(url=url, table='table_name', mode='append', properties=prop)
# append 追加方式

# 或者以下形式
df.write.format("jdbc")
  .option("url","jdbc:mysql://host:port/database") # database地址
  .option("dbtable","table_name")
  .option("user",user)
  .option("password",password)
  .option("driver",driver)
  .option("batchsize","1000").mode("overwrite") # overwrite 清空表再导入
  .save()

到了这里,关于Pyspark读写csv,txt,json,xlsx,xml,avro等文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用python读写txt和json(jsonl)大文件

    在深度学习方向,尤其是NLP领域,最重要的就是和海量的文字打交道,不管是读取原始数据还是处理数据亦或是最终写数据,合理的读写文件是极为重要的,这篇博客用以记录一下工作中学习到的对大文件读写的过程。 目录 读写txt文本文件 读写JSON文件 读写JSONL文件 遇到的

    2024年02月05日
    浏览(30)
  • <九> objectARX开发:读写Excel、json与txt格式文件

      在实际应用中,有时候我们需要通过文本格式或者表格等格式来传递数据,例如*.txt、Excel表格或者*.json文件。此时我们就需要想办法来读写这些数据。本节我们来说一下如何读写读写Excel、json与txt格式文件。 2.1 读写Excel   excel文件的读写有多种方式来实现,这里我们

    2024年02月09日
    浏览(37)
  • 100天精通Python(数据分析篇)——第56天:Pandas读写txt和csv文件(read_csv、to_csv参数说明+代码实战)

    文本文件,主要包括csv和txt两种等,相应接口为 read_csv() 和 to_csv(),分别用于读写数

    2023年04月08日
    浏览(34)
  • 常见的配置文件格式:yaml,json,xml,ini,csv等

                     目录                 1、配置文件的作用         2、什么是硬编码?         3、常见的配置文件格式 欢迎关注公众号:天天说编程 你的关注是我最大的动力!         1、配置文件的作用         为什么需要配置文件:         主要作

    2024年02月08日
    浏览(39)
  • 【Java万花筒】选择最适合您的数据序列化格式:比较 Avro、Protocol Buffers、JSON、XML、MessagePack和BSON

    在当今数据驱动的世界中,高效地处理和传输数据变得至关重要。选择合适的数据序列化格式对于数据存储、通信和处理的性能至关重要。本文将介绍并比较几种常用的数据序列化格式,包括Apache Avro、Protocol Buffers、JSON、XML、MessagePack和BSON。通过了解它们的概述、特点、应用

    2024年02月20日
    浏览(41)
  • pyspark笔记:读取 & 处理csv文件 (pyspark DataFrame)

    pyspark cmd上的命令 pyspark中是惰性操作,所有变换类操作都是延迟计算的,pyspark只是记录了将要对数据集进行的操作 只有需要数据集将数据返回到 Driver 程序时(比如collect,count,show之类),所有已经记录的变换操作才会执行 注意读取出来的格式是Pyspark DataFrame,不是DataFr

    2024年02月08日
    浏览(34)
  • Python之xlsx文件与csv文件相互转换

    Python之xlsx文件与csv文件相互转换 在Python中,可以使用xlrd和csv模块来处理Excel文件和csv文件。 xlsx文件转csv文件 在2个文件之间转换,需要注意一个文件的字符转码问题。 使用第三方库pandas将xlsx文件转csv文件 csv文件转换成xlsx文件 使用pandas将csv文件转成xlsx文件

    2024年02月16日
    浏览(32)
  • Unity数据解析(Json、XML、CSV、二进制)

    常见的数据解析(Json、XML、CSV、二进制)

    2024年02月21日
    浏览(32)
  • java读写xlsx文件

    所需jar包(全部都在poi-5.0.0包及其子包下): 1.poi-5.0.0 2.poi-ooxml-5.0.0 3.poi-ooxml-lite-5.0.0 4.libcommons-collections4-4.4 5.libcommons-math3-3.6.1 6.ooxml-libcommons-compress-1.20 7.ooxml-libxmlbeans-4.0.0 和excel的版本有关系;XSSF用于xlsx格式,HSSF用于xls格式。 根据指定的文件输入流导入Excel从而产生Workbo

    2023年04月13日
    浏览(23)
  • Python(wordcloud):根据词频信息(xlsx、csv文件)绘制词云图

    本文将介绍如何用python根据词频信息(xlsx、csv文件)绘制词云图,除了绘制常规形状的词云图(比如长方形),还可以指定词云图的形状。 1、安装相关的库 2、导入相关的库 1、文件读取 本文使用的数据集是excel文件(后缀名是.xlsx),该文件包含2个字段:以及对应的

    2024年01月18日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包