【发布时间】:2020-05-18 17:48:49
【问题描述】:
我遇到了一个问题,它不允许我使用更新和返回插入字符串。我正在运行 6.5(包括 Apache Spark 2.4.5、Scala 2.11),但它也不适用于 6.4 运行时。
我有一个包含以下列的增量表,按创建日期分区
ID string
, addressLineOne string
, addressLineTwo string
, addressLineThree string
, addressLineFour string
, matchName string
, createdDate
我正在运行一个访问 API 并更新 matchName 列的进程。
如果这样做,使用 Pyspark,只是为了测试写作
deltaTable.update(col("ID") == "ABC123", {"matchName ": "example text"})
我收到以下错误:
Py4JJavaError: An error occurred while calling o1285.update.
: org.apache.spark.sql.catalyst.analysis.UnresolvedException: Invalid call to dataType on unresolved object, tree: 'example
如果我尝试这个,将字符串更改为 123,它会毫无问题地更新
deltaTable.update(col("ID") == "ABC123", {"matchName ": "123"})
但是,如果我使用 sql 并这样做
UPDATE myTable SET matchName = "Some text" WHERE ID = "ABC123"
它插入很好。搜了一下,没看到类似的问题,有什么建议吗?我错过了什么明显的东西吗?
【问题讨论】:
标签: pyspark databricks azure-databricks delta-lake