我正在从下载的JSON文件中创建dataframe,这导致一些数据损坏的错误。我使用spark.read.json(“jsonfilepath”)来创建dataframe。错误类似于:pyspark.sql.utils.AnalysisException:从Spark 2.3开始,当引用的列只包括内部损坏的记录列(默认情况下名为_corrupt_record)时,不允许从原始JSON/CSV文件中查询。例如:spark.read.schema(schema).csv(file).filter($"_corrupt_record”.isNotNull).count()和spark.read.schema(schema).csv(file).select(“_corrupt_record”).show()。相反,您可以缓存或保存解析的结果,然后发送相同的查询。例如,瓦尔df = spark.read.schema(schema).csv(file).cache(),然后是df.filter($"_corrupt_record”.isNotNull).count()。
1条答案
按热度按时间1mrurvl11#
由于您没有指定您遇到的错误,我假设您看到的内容与我看到的类似:
要修复它,您需要使用以下命令:
下面是一个例子:
下面是pyspark代码:
下面是输出: