2016-08-12 40 views
1

我試圖讀取一個json文件並使用SQLContext強制讀取一個模式,但可空部分似乎被忽略。 我有一個架構是這樣的:Pyspark強制讀取Json文件的可空性

StructType(List(StructField(some_field,StringType,false), StructField(some_other_field,StringType,false)) 

那麼現在,我想讀一個JSON文件,並強制執行模式上它是這樣:

sqlc = SQLContext(sc) 
df = sqlc.read.load("path/to/file", format="json", schema=schema) 

字段名和數據類型似乎工作得很好,但無論怎樣,我把對空性,所有列具有可空=真這樣:

root 
|--some_field: string (nullable = true) 
|--some_other_field: string (nullable = true) 

我怎樣才能在讀我的列執行的爲空?

僅供參考。我正在使用Python 2.7,pyspark 1.5.2

回答

0

根據我發現的研究,這是Spark中的一個錯誤,直到Spark 2.0.0纔得到解決。如果誰在使用星火2.0.0或更高版本可以證實這個錯誤的人是固定的我很樂意,但在那之前,這裏是Apache吉拉票討論這個問題:

https://issues.apache.org/jira/browse/SPARK-11319