在hdp3.1.0、hwc-hive-warehouse-connector-assembly-1.0.0.3.1.0.0-78.jar中,我无法根据数据库向现有表追加(或覆盖)。
我在一个名为dsn的数据集上测试了它,在另一个名为clean\u crypt的数据库上测试失败。两个数据库都是加密的+kerberos
import com.hortonworks.spark.sql.hive.llap.HiveWarehouseSession._
import com.hortonworks.spark.sql.hive.llap.HiveWarehouseSession
val hive = com.hortonworks.spark.sql.hive.llap.HiveWarehouseBuilder.session(spark).build()
hive.execute("show databases").show()
hive.setDatabase("clean_crypt")
val df=hive.execute("select * from test")
df.write.format(HIVE_WAREHOUSE_CONNECTOR).option("table","test").mode("append").save
错误消息是“表已存在”。我尝试覆盖模式但没有成功。如果我把table掉了,它就过去了!!!
你知道吗?
1条答案
按热度按时间b0zn9rqh1#
这可能与多个用户报告的hwc错误有关。
我发现只有当你尝试使用
partitionBy
在写作方面,比如:另一方面,如果你移除
partitionBy
但是如果您使用覆盖模式(而不是append),hwc将删除并重新创建您的表,并且它不会重新应用分区信息。