【发布时间】:2020-06-06 03:24:54
【问题描述】:
我有以下代码:
Dataset<Row> rows = sparkContext.sql ("select from hive tables with multiple joins");
rows.saveAsTable(writing to another external table in hive immediately);
1) 在上述情况下,当调用saveAsTable() 时,spark 会将整个数据集加载到内存中吗?
1.1) 如果是,那么当这个查询实际上可以返回大量无法放入内存的数据时,我们如何处理这种情况?
2) 当服务器崩溃时spark开始执行saveAsTable()向外部Hive表写入数据时,是否有可能将部分数据写入目标Hive表?
2.2) 如果是,我们如何避免不完整/部分数据被持久化到目标 hive 表中?
【问题讨论】:
标签: apache-spark hadoop hive