Spark中的替代选项,允许执行更新和删除操作

时间:2018-09-05 04:17:59

标签: scala apache-spark pyspark apache-spark-sql

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

在使用Spark更新数据库表的值时,我需要一些帮助来解决或找到一些替代选项,但是当我通过一些基本编程代码来尝试是否允许进行Update,Delete操作时,我被抛出了Exception /错误如下:

 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 个答案:

答案 0 :(得分:1)

Spark SQL不执行更新操作,因为Spark SQL还不支持事务。 Hive支持更新,但仅支持支持事务的表。

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