【发布时间】:2021-09-03 19:41:56
【问题描述】:
我正在尝试使用变量(StringStartPoint)作为起始位置在列(CompleteLine)上运行子字符串函数。
我尝试了下面给出的几个选项,但两者都因不同的原因而失败。如何在选择函数中轻松使用变量。
StringStartPoint=10
df2 = df1.select(f.substring(f.col("CompleteLine"),StringStartPoint,f.col("StringLength"))).alias('MySubString')
TypeError: Column is not iterable . This is not recognizing the 3rd parameter as a value.
df2 = df1.select(f.expr("substring(col(CompleteLine),StringStartPoint,col(StringLength))").alias('MySubString')
AnalysisException: Cannot resolve StringStartPoint given input column . This is recognizing the 2nd parameter as a dataframe field.
【问题讨论】:
-
这能回答你的问题吗? use length function in substring in spark
标签: apache-spark pyspark apache-spark-sql