我正在使用多个StructField创建一个StructType - 名称和数据类型似乎工作正常,但无论在每个StructField中将nullable设置为False,结果模式报告nullable对于每个StructField都为True。
任何人都可以解释原因吗?谢谢!
printf "%0.2f\n" for @floats;
答案 0 :(得分:0)
这是Spark中的known issue。目前Spark中有open pull request旨在解决此问题。如果您确实需要字段不可为空,请尝试:
#read csv file and apply dfStruct as the schema
df = sparkSession.read.csv(path = "/<path tofile>/stock_data.csv", \
schema = dfStruct, \
sep = ",", \
ignoreLeadingWhiteSpace = True, \
ignoreTrailingWhiteSpace = True \
).rdd.toDF(dfStruct)