PySpark -使用带有变量的函数而不是 Dataframe 作为参数引发异常

noj0wjuj  于 2023-11-16  发布在  Spark
关注(0)|答案(2)|浏览(165)

我是Python新手,所以这可能是显而易见的。我试图对字符串变量(甚至文字)进行一些转换,但我使用的任何函数都失败了:
com.incorta.API.exceptions.DataException:INC_03070101:转换错误[错误调用o74时出错。getnewargs。跟踪:py4j.Py4JException:方法getnewargs([])不存在(“Py4JError”,“:”,Py4JError(u“调用o74时出错。getnewargs。跟踪:\npy4j.Py4JException:方法getnewargs([])不存在\n\达特py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:318)\n\达特py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:326)\n\达特py4j.Gateway.invoke(Gateway.java:274)\n\达特py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\n\tat java.lang.Thread.run(Thread.java:750)\n\n',))
Spark版本2.4.7
示例代码:

  1. from pyspark.sql.functions import substring
  2. objectName = substring("fullFieldString", 1, 4)

字符串

wdebmtf2

wdebmtf21#

我不知道你想达到什么目的,但在pyspark中使用substring如下。
https://spark.apache.org/docs/3.1.1/api/python/reference/api/pyspark.sql.functions.substring.html

ldfqzlk8

ldfqzlk82#

我可能应该先学习一些Python基础课程:)我在这里找到了答案:
Strings slicing in Python

  1. schemaName = fullFieldString[:fullFieldString.find('.')]

字符串
似乎变量有完全独立的函数集,大多数参考文献都描述了数据框函数

相关问题