запрос обновления в Spark SQL
интересно, могу ли я использовать запрос обновления в sparksql так же, как:
sqlContext.sql("update users set name = '*' where name is null")
Я получил ошибку:
org.apache.spark.sql.AnalysisException:
Unsupported language features in query:update users set name = '*' where name is null
Если sparksql не поддерживает запрос обновления или я пишу код неправильно?
1 ответов
Spark SQL не поддерживает UPDATE
заявления.
улей начал поддерживать UPDATE
начиная с версии улья 0.14. Но даже с Hive он поддерживает обновления / удаления только в тех таблицах, которые поддерживают сделки, это упоминается в улей документации.
см. ответы на форумах databricks, подтверждающие это обновления / удаления не поддерживаются в Spark SQL как не поддерживает транзакции. Если мы думаем, что поддержка случайных обновлений очень сложна с большинством форматов хранения больших данных. Это требует сканирования огромных файлов, обновления конкретных записей и перезаписи потенциально TBs данных. Это не обычный SQL.