我想在Spark 1.6 DataFrame中收集一个特定的Row,它来自一个分区的HiveTable(该表由一个名为date
的String列分区并保存为Parquet
)
记录由date
,section
,sample
另外,我有以下约束
date
和section
是字符串,sample
是长
date
是唯一的,Hive表由date
分区。但
每个date
section
在数据框架中也是唯一的sample
对于给定的section
到目前为止,我使用此查询,但执行需要相当长的时间(使用10个执行程序约25秒):
sqlContext.table("mytable")
.where($"date"=== date)
.where($"section"=== section)
.where($"sample" === sample)
.collect()(0)
我还尝试将collect()(0)
替换为take(1)(0)
而不是更快。