spark sql substring函数有什么问题?

Jef*_*emi 9 apache-spark-sql spark-dataframe

这应该不需要解释.但有人可能会描述子串的pos参数背后的逻辑,因为我无法理解这一点(使用Spark 2.1):

scala> val df = Seq("abcdef").toDS()
df: org.apache.spark.sql.Dataset[String] = [value: string]

scala> df.show
+------+
| value|
+------+
|abcdef|
+------+

scala> df.selectExpr("substring(value, 0, 2)", "substring(value, 1, 2)", "substring(value, 2,2)", "substring(value, 3,2)").show
+----------------------+----------------------+----------------------+----------------------+
|substring(value, 0, 2)|substring(value, 1, 2)|substring(value, 2, 2)|substring(value, 3, 2)|
+----------------------+----------------------+----------------------+----------------------+
|                    ab|                    ab|                    bc|                    cd|
+----------------------+----------------------+----------------------+----------------------+
Run Code Online (Sandbox Code Playgroud)

小智 11

第一个值来自它应该从哪个索引开始(从1开始而不是从0开始)第二个值是它应该从索引中获取多少个字符

  • 并添加到奇怪的对待start = 0就像start = 1 (3认同)