tes*_*acc 2 sql hiveql apache-spark
我试图在 spark 中生成一列空值,但不是空数据类型。
所以
sqlContext.sql("select null as newcol from db.table")
Run Code Online (Sandbox Code Playgroud)
将不起作用,因为它会将 newcol 数据类型设置为 null。
sqlContext.sql("select cast(null as newcol as string) from db.table")
Run Code Online (Sandbox Code Playgroud)
将不起作用,因为它将使所有值“空”作为 4 个字符的字符串表示形式。
我怎样才能做到这一点?
最终目标是将其写入 csv,它不支持空列类型,我需要数据框中的实际值为空而不是空字符串。
我认为你想要的语法是:
select cast(null as string) as newcol from db.table
Run Code Online (Sandbox Code Playgroud)
表达式是cast(null as string)- 这只是任何旧表达式,可能会复杂得多。列别名是使用 提供的as newcol,它位于表达式之后。
as在 的定义中开始使用两次(用于不同的事物)只是巧合newcol。
| 归档时间: |
|
| 查看次数: |
2009 次 |
| 最近记录: |