apache-spark-sql - spark sql子字符串函数有什么问题?

标签 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|
+----------------------+----------------------+----------------------+----------------------+

最佳答案

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

关于apache-spark-sql - spark sql子字符串函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46498115/

相关文章:

scala - 使用 “When Otherwise”时增长超过64 KB错误

scala - 错误 : value saveAsTextFile is not a member of scala. collection.Map[String,Long]

scala - 从字符串文字推断 Spark DataType

apache-spark - Pyspark - 如何进行不区分大小写的数据帧连接?

scala - 如何在spark数据框中用\N替换空字符串

apache-spark - Spark 数据集宽时性能非常慢

python - 如何将 unicode 转换为数据框列的字符串?

scala - Spark 2.0缺少Spark隐式

scala - 如何使用scala并行化spark中的for循环?

performance - Spark 3 中的自适应查询执行