从0开始学习pyspark--pyspark的数据读取[第4节]-读取文本型数据

时间:2024-07-06 11:02:28
  1. 读取CSV文件:
    • 使用spark.read.csv方法读取CSV文件,可以通过参数指定列分隔符、头部等信息。
    from pyspark.sql import SparkSession
    spark = SparkSession.builder \
        .appName("CSV Read Example") \
        .getOrCreate()
    df = spark.read.csv("path/to/your/csv/file.csv", header=True, inferSchema=True)
    
    • header=True表示文件包含头部信息。
    • inferSchema=True表示让Spark自动推断列的数据类型。
  2. 读取JSON文件:
    • 使用spark.read.json方法读取JSON文件,可以是单个JSON文件或者一个包含多个JSON对象的文件。
    df = spark.read.json("path/to/your/json/file.json")
    
  3. 读取Parquet文件:
    • 使用spark.read.parquet方法读取Parquet文件,这是一种列式存储格式,非常适合用于大数据处理。
    df = spark.read.parquet("path/to/your/parquet/file.parquet")
    
  4. 读取Avro文件:
    • Spark没有内置的Avro支持,但是可以通过添加依赖并使用spark.read.format方法来读取Avro文件。
    df = spark.read.format("com.databricks.spark.avro").load("path/to/your/avro/file.avro")
    
    • 在使用Avro之前,需要确保已经将Avro的Spark插件添加到你的项目中。
  5. 读取文本文件:
    • 使用spark.read.text方法读取文本文件,每一行都会成为DataFrame中的一行。
    df = spark.read.text("path/to/your/text/file.txt")
    
  6. 读取其他格式:
    • 对于其他格式,可以使用spark.read.format方法指定格式,并使用load方法加载文件。
    df = spark.read.format("your_format").load("path/to/your/file")
    

在读取文件时,还可以指定其他选项,如分区信息、编码、压缩等。例如,如果文件存储在HDFS上,或者需要指定特定的文件系统,可以使用spark.read.format("csv").option("path", "hdfs://path/to/your/file.csv").load()