或者更具体的问题是如何处理一次不适合内存的大量数据?使用OFFSET,我试图做hiveContext.sql("选择...限制10偏移量10"),同时递增偏移量以获取所有数据,但偏移量似乎在hiveContext中无效。通常用于实现这一目标的替代方案是什么?
对于某些上下文,pyspark代码以
开头from pyspark.sql import HiveContext
hiveContext = HiveContext(sc)
hiveContext.sql("select ... limit 10 offset 10").show()
答案 0 :(得分:2)
您的代码看起来像
from pyspark.sql import HiveContext
hiveContext = HiveContext(sc)
hiveContext.sql(" with result as
( SELECT colunm1 ,column2,column3, ROW_NUMBER() OVER (ORDER BY columnname) AS RowNum FROM tablename )
select colunm1 ,column2,column3 from result where RowNum >= OFFSEtvalue and RowNum < (OFFSEtvalue +limtvalue ").show()
注意:根据您的要求更新以下变量tcolunm1,tablename,OFFSEtvalue,limtvalue