我有 Spark DataFrame,我将其存储在 Amazon S3 上,以镶木地板格式供以后使用。在存储之前使用DataFrame不是问题。我之前也使用相同的DataFrame(仅包含相同数据的旧版本)多次完成此操作。
但是,当我从镶木地板文件中读取最新的DataFrame时,在尝试对其执行任何操作后出现以下错误:
AnalysisException: u"Can't extract value from <always_the_same_arbirary_column_name>#<arbitrary_number>;"
我担心的不是潜在的问题(我认为这是一个公平的假设,其中一个数据值不能序列化为实木复合地板格式并破坏DataFrame)而是如何调试它并找到有缺陷的元素。
我正在使用 PySpark ,由于基础设施方面的原因,我们只会不情愿地使用Scala,很高兴听到您有一些不错的建议。
更新
抛出错误的代码。
joined_features_parquet_name = 'survey_takers_joined_features.parquet'
sdf_features_raw = spark.read.parquet(s3_path + joined_features_parquet_name)
sdf_features_raw.show(5)