【发布时间】:2016-04-12 01:57:26
【问题描述】:
根据官方doc,Spark 1.6 以后我们无法向 DataFrame 添加特定的 hive 分区
直到 Spark 1.5 之前,以下内容可以正常工作,并且数据框将具有实体列和数据,如下所示:
DataFrame df = hiveContext.read().format("orc").load("path/to/table/entity=xyz")
但是,这在 Spark 1.6 中不起作用。
如果我给出如下基本路径,它不包含我想要在 DataFrame 中的实体列,如下所示 -
DataFrame df = hiveContext.read().format("orc").load("path/to/table/")
如何在数据框中加载特定的配置单元分区?删除此功能的驱动因素是什么?
我相信它是有效的。在 Spark 1.6 中是否有替代方案可以实现这一目标?
据我了解,Spark 1.6 会加载所有分区,如果我过滤特定分区,它效率不高,它会命中内存并引发 GC(垃圾收集)错误,因为数千个分区被加载到内存而不是特定分区.
【问题讨论】:
标签: apache-spark hive apache-spark-sql