Sql 在spark中选择新列作为空字符串
我试图在spark中生成一列空值,但不是空数据类型 所以 将不起作用,因为它会将newcol数据类型设置为nullSql 在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
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