如何解决如何在Spark SQL中格式化整数?
我是Spark的新手。任何帮助将不胜感激。 Spark SQL中是否可以使用sql的FORMAT()
替代方法。我的核心逻辑是用SQL编写的,并以spark.sql("query")
运行。我需要将ID转换为4位数字。
例如,如果为1,则应将其转换为0001;如果为12,则应将其转换为0012。我在SQL中知道,我们可以像FORMAT("%04d",id)
那样将id
做为。但这给了我Spark SQL错误FORMAT is not a function registered
。在Spark的文档中找到了format_number
和format_string
,但对于我的情况没有帮助。
注意:我不想在我的Java代码中执行此操作,但想在SQL查询本身中执行此操作。
解决方法
使用lpad
函数。
spark.sql("SELECT lpad('1',4,'0')").show
+-------------+
|lpad(1,0)|
+-------------+
| 0001|
+-------------+
您可以将'1'
更改为id
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。