当前位置: 首页 > 知识库问答 >
问题:

Spark中允许执行更新和删除操作的替代选项[重复]

易书
2023-03-14

使用Apache Spark: 2.3.0数据库: Oracle 12.1

我需要一些帮助来解决或找到一些替代选项,在使用火花更新数据库表的值,但当我通过一些基本编程代码尝试是否允许更新,删除操作。我被抛出一个异常/错误如下:

 Exception in thread "main" org.apache.spark.sql.catalyst.parser.ParseException: 
    mismatched input 'UPDATE' expecting {'(', 'SELECT', 'FROM', 'ADD', 'DESC', 'WITH', 'VALUES', 'CREATE', 'TABLE', 'INSERT', 'DELETE', 'DESCRIBE', 'EXPLAIN', 'SHOW', 'USE', 'DROP', 'ALTER', 'MAP', 'SET', 'RESET', 'START', 'COMMIT', 'ROLLBACK', 'REDUCE', 'REFRESH', 'CLEAR', 'CACHE', 'UNCACHE', 'DFS', 'TRUNCATE', 'ANALYZE', 'LIST', 'REVOKE', 'GRANT', 'LOCK', 'UNLOCK', 'MSCK', 'EXPORT', 'IMPORT', 'LOAD'}(line 1, pos 0)

    == SQL ==
    UPDATE

 S SET PRICEITEM_PARM_VAL ='DUMMY' WHERE PRICEITEM_PARM_CD = 'COUNTRY'
^^^

任何人都可以发布spark中使用的替代选项吗。以及是否可以进行这种手术。

共有1个答案

左丘阳晖
2023-03-14

Spark SQL不执行更新操作,因为Spark SQL尚不支持事务。配置单元支持更新,但仅限于支持事务的表。

你可以参考databricks论坛的答案https://forums.databricks.com/questions/6007/can-we-use-updatedelete-queries-in-databricks-with.html

 类似资料:
  • 我在网上看到了很多答案,说要打击 必须使用命令,但是对该命令进行了十几次不同的尝试,结果都是类似的错误消息。 我使用Ubuntu 15.04的安装了PostgreSQL,但是PostgreSQL绝对不允许做任何事情。 我需要安装一些依赖关系或其他什么吗?

  • BatchResult partialAllowedBatch(BatchRequest request) 功能 一般的batch请求,当表quota不足时会全部拒绝;而partialAllowedBatch允许在quota满足的范围内,部分记录可以执行, 通过返回值告知用户哪些记录执行成功,哪些记录没有执行, 若当前quota不满足甚至1条记录执行,会抛出THROUGHPUT_EXCEED异常;

  • 关于这个问题有好几篇帖子,但仍然没有找到答案。这是父类Userr。在@OneToMany关系中,我想删除一个特定的子帐户。 现在,当我通过“删除”查询执行此操作时,我得到以下异常。 组织。springframework。刀。InvalidDataAccessApiUsageException:执行更新/删除查询;嵌套的异常是javax。坚持不懈TransactionRequiredExceptio

  • 问题内容: 我在Spring和mongodb中使用了hibernate JPA,并且我在Glassfish-4.0上运行我的应用程序。 我的服务类别是: 我的spring-context.xml是: 我在代码中应用了一些更改,但是它们没有效果。谁能帮我解决这个问题。提前致谢。 问题答案: 我不确定这是否会帮助你解决问题(即是否仍然存在),但是,在网上搜索类似问题之后。 我从持久性EntityMan

  • 问题内容: 我正在尝试创建一个菜单栏应用程序,以隐藏桌面图标以及希望进行其他各种操作,主要是为了更多地了解Swift,并且由于某种原因,我无法使其正常工作。当我运行该程序并单击菜单项之一时,什么也没有发生,并且我在控制台中收到此警告: 其他命令也可以,但是我尝试使用“ killall”的任何变体都会吐出类似上面的内容。目前,我的代码如下所示: 我已经和Google上找到的可接受的解决方案进行了多种

  • 说明我使用的是HashiCorp的保险库,版本1.7.0,免费版本。 用allowed_parameters追加组路径,如: 我收到一个权限拒绝错误(403)。附加被拒绝的参数: 不起作用,我仍然被允许分配超级策略。 我也尝试了通配符,结果相同。 是否有可能限制可以从Vault UI分配的一个/一个策略范围? 如果你到目前为止已经成功了,请提前感谢。