我想選擇包含NULL以外的值的列。假設我有一個表ABC:Spark SQL-動態選擇Spark中不爲空值的列
SnapshotDate CreationDate Country Region CloseDate Probability BookingAmount RevenueAmount SnapshotDate1 CreationDate1 CloseDate1
null null null null null 25 882000 0 null null null
null null null null null 25 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
null null null null null 0 882000 0 null null null
那我就只需要選擇概率,BookingAmount和RevenueAmount列,因爲它們包含null以外的一些價值,而忽略只包含空值的列的其餘部分。
我試着做類似 - select * from abc where SnapshotDate!= null and CreationDate!= null and ..... 但是這並沒有幫助,因爲它會查找每一行。
注: - 有什麼樣 - sqlContext.sql(「選擇情況下COL1爲null,則不要選擇它,否則選擇它結束)從ABC X」)
我使用的火花1.6.1
有沒有辦法做到這一點?
在此先感謝
您可以收集非空值的第一行檢查並獲取列的名稱,然後在先前的數據框上調用select。完成 –
[刪除Spark SQL中的NULL列]可能的重複(https://stackoverflow.com/questions/45324762/remove-null-columns-in-spark-sql) –