如何使用Scala更新一个ORC Hive表格

我想更新一个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”=“无”交易真实等)

尝试插入到使用案例陈述和所有但不能
我们可以从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._

注意:我没有在该表上应用任何分区或分区
如果我应用bucketing,我甚至无法在存储为ORC时查看数据
Hive版本:1.2.1
Spark版本:1.4.1
Scala版本:2.10.6

最佳答案 您是否根据下面的链接使用SaveMode.Append尝试了DataFrame.write API?

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

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

点赞