我有一个配置单元查询,每天以map reduce模式运行。总的处理时间需要20分钟,这是罚款根据我们的日常进程。我期待在Spark框架执行。
首先,我在hiveshell中设置了executionengine=spark并执行了相同的查询。
这个过程有转换和动作,整个查询大约8分钟就完成了。此查询具有多文件子查询、in子句和where条件。问题是,spark环境如何创建rdd复杂查询(假设我刚刚运行了与hive中相同的查询),它是否为每个子查询创建rdd?
现在我想利用sparksql来代替配置单元查询。我们应该如何处理这样一个复杂的问题,在这里我们涉及到很多子查询和聚合。我知道对于关系数据计算,我们需要利用Dataframe。
这是在sparksql中重新编写它们的正确方法,还是保留设置executionengine=spark并运行配置单元查询的方法。如果在sparksql中编写查询并在spark上运行有优势,那么优势是什么呢。
对于所有子查询和各种过滤和聚合逻辑,Dataframeapi的性能如何。
暂无答案!
目前还没有任何答案,快来回答吧!