小编Saa*_*adK的帖子

读取目录下的多个 csv 文件时创建单个架构数据框

我有数千个 CSV 文件,它们在单个目录下具有相似但不相同的标题。结构如下:

路径/到/文件/unique_parent_directory/*.csv

一个 csv 文件可以是:

|列_A|列_B|列_C|列_D|
|V1 |V2 |V3 |V4 |

第二个 CSV 文件可以是:

|Coulmn_A|Coulmn_B|Coulmn_E|Coulmn_F|
|V5 |V6 |V7 |V8 |

我想要创建的结果是一个 Spark Dataframe,它可以正确合并文件而不重叠列,上一个示例的输出应该是这样的:

|列_A|列_B|列_C|列_D|Coulmn_E|Coulmn_F|
|V1 |V2 |V3 |V4 |空 |空 |
|V5 |V6 |空 |空 |V7 |V8 |

我用来创建数据帧的代码是:

val df = sparkSession.read
          .format("csv")
          .option("header", "true")
          .option("inferSchema", "true")
          .option("mergeSchema", "true")
          .load(path/to/files/unique_parent_directory/*.csv)
          .persist(StorageLevel.MEMORY_AND_DISK_SER)
Run Code Online (Sandbox Code Playgroud)

但我得到以下结果:

|列_A|列_B|列_C|列_D|
|V1 |V2 |V3 |V4 |
|V5 |V6 |V7 |V8 |

有没有办法在不运行标题统一过程的情况下获得所需的数据帧?

csv io scala apache-spark-sql

6
推荐指数
0
解决办法
720
查看次数

在 AWS Glue 中聚合数据帧的好方法是什么

我正在尝试在 AWS Glue 中聚合数据帧。我使用以下 pySpark 代码来执行聚合:

mydataframe.groupby('id').agg({'value', 'operation'})
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法在 AWS Glue 中执行聚合?

谢谢!

amazon-web-services apache-spark spark-dataframe aws-glue

5
推荐指数
1
解决办法
1476
查看次数