只是一个简单的问题。我试图执行一个版本为1.6.0的Spark程序,它利用Hive表上的并发加载。在insert
中使用hiveContext.sql("insert . . .")
语句是一种方法,因为我想在写入过程中确保表锁定,因为我在Spark文档表中看到的锁定和原子性不是使用DataFrame保存操作时确保。
"保存操作可以选择使用 SaveMode 指定如何处理现有数据(如果存在)。重要的是要 意识到这些保存模式不使用任何锁定而不是 原子。此外,执行覆盖时,数据将是 在写出新数据之前删除。"
如果在指定的配置单元表中访问/插入数据,如何确保hive表的原子性或锁定?
任何建议都很有帮助。非常感谢你。
答案 0 :(得分:1)
解决方案取决于你需要什么原子写作。
最简单的可能性之一是使用分区外部表: