如何使用 Scala 从 Spark 更新 ORC Hive 表

2024-05-19

我想更新 orc 格式的 hive 表,我可以从 ambari hive 视图进行更新,但无法从 sacla (spark-shell) 运行相同的更新语句

objHiveContext.sql("select * from table_name ") 能够看到数据,但是当我运行时

objHiveContext.sql("update table_name set column_name='testing' ") 无法运行,一些 Noviable 异常(更新附近的语法无效等)发生在我能够从 Ambari 视图更新的地方(因为我设置了所有必需的配置)即 TBLPROPERTIES "orc.compress"="NONE" 事务 true 等)

尝试使用 Insert into using case 语句,但不能 我们可以从 Spark 更新 hive ORC 表吗? 如果是的话,程序是什么?

下面导入

import org.apache.spark.SparkConf
import org.apache.spark.SparkConf
import org.apache.spark._
import org.apache.spark.sql._
import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.hive.orc._

注意:我没有在该表上应用任何分区或存储桶 如果我应用分桶,我什至无法查看存储为 ORC 的数据 蜂巢版本:1.2.1 火花版本:1.4.1 斯卡拉版本:2.10.6


您是否根据下面的链接尝试过使用 SaveMode.Append 的 DataFrame.write API?

http://spark.apache.org/docs/latest/sql-programming-guide.html#manually-specifying-options http://spark.apache.org/docs/latest/sql-programming-guide.html#manually-specifying-options

使用“orc”作为格式,“append”作为保存模式。示例在上面的链接中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Scala 从 Spark 更新 ORC Hive 表 的相关文章

随机推荐