用于CSV的pyspark模式验证

问题描述

我在pyspark数据框df1中有原始数据(从csv文件读取)。当我尝试附加另一个csv(将在另一个pyspark数据帧df2中读取)时,在我“结合”两个数据帧之前,是否有一种优雅的方法来检查或验证两者的模式?谢谢。

解决方法

您要寻找哪种验证?

  1. 匹配列名称 如果您只想知道是否存在相同的列,则可以使用

    df1.select(df2.columns)

  2. 我认为,如果您尝试进行联合,则检查数据类型以及该列是否可为空可以使用是很重要的:

    df1.schema==df2.schema

您可以将它们设置为断言,或者根据您的用例确定条件。