我是Spark的新手。任何帮助都将不胜感激。Spark SQL中有没有替代SQL的FORMAT()的方法?我的核心逻辑是用SQL编写的,并与spark.sql("query")一起运行。我有一个要求将id转换为4位数字。
例如,如果是1,则应转换为0001;如果是12,则应转换为0012。我知道在SQL中,我们可以像id一样使用FORMAT("%04d", id)。但这给了我一个错误,在Spark SQL中说的是FORMAT is not a function registered。在Spark的文档中找到了format_number和format_string,但对我的情况没有帮助。
注意:我不想在我的java代码中做到这一点,但我想在SQL查询本身中做到这一点。
发布于 2020-08-19 13:28:13
使用lpad函数。
spark.sql("SELECT lpad('1', 4, '0')").show
+-------------+
|lpad(1, 4, 0)|
+-------------+
| 0001|
+-------------+您可以将'1'更改为id。
https://stackoverflow.com/questions/63480329
复制相似问题