我是Spark的新手,试图了解以下方法中的性能差异(Spark on hadoop)
场景:根据批处理,我有50个hive查询要运行。有些可以并行运行,有些可以顺序运行。
- 第一种方法
所有查询都可以存储在hive表中,我可以编写Spark驱动程序一次读取所有查询并使用java多线程并行运行所有查询(使用HiveContext)
- 第二种方法
使用oozie spark操作运行每个查询个人
我找不到任何关于Spark如何在第一种方法内部处理查询的第一种方法的文档。从性能的角度来看哪种方法更好?
我可以找到Spark多线程的唯一内容是: “在每个Spark应用程序中,多个”作业“(Spark动作)可能会同时运行,如果它们是由不同的线程提交的”
提前致谢
答案 0 :(得分:0)
由于您的要求是与条件
并行运行配置单元查询有些可以运行并行和一些顺序
这种工作流程最好由DAG处理器处理, Apache Oozie 。这种方法比您通过代码管理查询更清晰,即您将构建自己的DAG处理器,而不是使用oozie提供的处理器。