我正在使用sparksession连接到配置单元数据库。我在试着决定什么是最好的方法来丰富数据。我使用的是sparksql,但我已经厌倦了使用它。sparksql只是调用hivesql吗?那么,这是否意味着使用spark不会提高性能?如果不是,我是应该创建一个大型sql查询来spark,还是应该获取一个不想将其转换为Dataframe的表,并使用sparks函数对其进行操作?
hwazgwia1#
不,spark将从hive读取数据,但使用自己的执行引擎。性能和能力会有所不同。这在多大程度上取决于您用于配置单元的执行引擎(m/r、tez、spark、llap?)这是一样的。我会坚持使用sql查询,并在一开始对hive进行a-b-test,但是sql是出了名的难以维护,从长远来看,使用spark的datasetapi的scala/python代码对用户更友好。
1条答案
按热度按时间hwazgwia1#
不,spark将从hive读取数据,但使用自己的执行引擎。性能和能力会有所不同。这在多大程度上取决于您用于配置单元的执行引擎(m/r、tez、spark、llap?)
这是一样的。我会坚持使用sql查询,并在一开始对hive进行a-b-test,但是sql是出了名的难以维护,从长远来看,使用spark的datasetapi的scala/python代码对用户更友好。