我有一个用例,我想读取数据的一个子部分,然后对它执行一些操作。
我在火花上做这样的事情。
DataFrame salesDf = sqlContext.read().format("com.stratio.datasource.mongodb").options(options).load()
这似乎加载了表/集合上的所有数据。当我使用
执行选择操作时 salesDf.registerTempTable("sales");
sqlContext.sql("SELECT * FROM sales WHERE exit_date IS 08-08-2016").show();
似乎正在对刚刚加载的数据帧执行select操作。这似乎完全浪费了我的空间。
我的表/集合有近10亿条记录,我想处理其中只有100,000条记录,在一个对象中加载1B记录似乎完全浪费了我的空间。
请原谅我的问题的天真。我非常非常新兴。如果有人可以为我提供一种方法来加载表数据的子部分而不是加载所有内容然后处理,那将是非常好的。