如果为空,则过滤表列并路由到其他表

时间:2018-09-13 16:34:57

标签: sql apache-spark-sql

我对SQL不太了解,但我仍然想问这个论坛。

我的工作是处理具有空值的记录。我的意思是我们有自然键(假设有4列),如果其中任何列将NULL值放入其中,则应将其路由到另一个表,以便可以将其报告给客户端。

AFAIK SQL仅提供一个输出,并且无法拆分。我们有什么办法可以在SQL / spark SQL中进行处理?我需要使用spark执行此作业。

处理流程为:

  1. 第一个数据被压缩并保存在配置单元表中

  2. 我需要获取这些数据并检查空值。

  3. 将其存储在下一级表中

1 个答案:

答案 0 :(得分:0)

虽然您不能一口气做到这一点,但可以按照上述步骤进行。

在Hive中创建表格后,您可以使用PySpark完成

#Set all the imports and enable Hive support for the session
#Dataframe to hold rows where either of 4 columns is null
df=spark.sql("select * from tblName where col1 is null or col2 is null or col3 is null or col4 is null")
#Write the resulting dataframe to a Hive table
df.saveAsTable('tableName') #Use other arguments in saveAsTable as required