如何使用 pyspark 读取 Parquet 文件、更改数据类型并写入 Hadoop 中的另一个 Parquet 文件

HKS*_*HKS 5 python hadoop apache-spark pyspark

我的源镶木地板文件的所有内容都是字符串。我的目标 parquet 文件需要将其转换为不同的数据类型,如 int、字符串、日期等。我该如何执行此操作?

Som*_*Som 2

您可能希望应用用户定义的架构来加速数据加载。有两种方法可以应用它 -

使用输入 DDL 格式的字符串

spark.read.schema("a INT, b STRING, c DOUBLE").parquet("test.parquet")
Run Code Online (Sandbox Code Playgroud)

使用 StructType 架构

customSchema = StructType([
        StructField("a", IntegerType(), True),
        StructField("b", StringType(), True),
        StructField("c", DoubleType(), True)])
spark.read.schema(customSchema).parquet("test.parquet")
Run Code Online (Sandbox Code Playgroud)