Sql 在spark中选择新列作为空字符串

Sql 在spark中选择新列作为空字符串,sql,apache-spark,hiveql,Sql,Apache Spark,Hiveql,我试图在spark中生成一列空值,但不是空数据类型 所以 将不起作用,因为它会将newcol数据类型设置为null sqlContext.sql("select cast(null as newcol as string) from db.table") 将不起作用,因为它将使所有值作为4个字符的字符串表示形式为“null” 我怎样才能做到这一点 最终目标是将其写入csv,该csv不支持null列类型,我需要数据帧中的实际值为null,而不是空字符串。我认为您需要的语法是: select ca

我试图在spark中生成一列空值,但不是空数据类型

所以

将不起作用,因为它会将newcol数据类型设置为null

sqlContext.sql("select cast(null as newcol as string) from db.table")
将不起作用,因为它将使所有值作为4个字符的字符串表示形式为“null”

我怎样才能做到这一点


最终目标是将其写入csv,该csv不支持null列类型,我需要数据帧中的实际值为null,而不是空字符串。

我认为您需要的语法是:

select cast(null as string) as newcol from db.table
表达式是
cast(null为字符串)
——这只是任何旧表达式,可能要复杂得多。列别名是使用
作为newcol提供的,它位于表达式之后

newcol
的定义中,
as
被begin使用了两次(用于不同的事情),这只是巧合

select cast(null as string) as newcol from db.table