我正在使用Spark SQL从Spark应用程序的Cassandra中检索数据。数据以DataSet的形式检索。但是,我需要使用javaRDD()函数将此dataset转换为JavaRDD。它可以工作,但是需要大约2个小时。是否有一些参数需要调整以增强这次的性能?
发布于 2017-08-20 01:39:20
Dataset APIs构建在SparkSQL引擎之上,它使用Catalyst来生成优化的逻辑和物理查询计划。在R, Java, Scala,或Python DataFrame/Dataset APIs中,所有关系类型查询都经过相同的代码优化器,从而提供空间和速度效率。Dataset[T]类型的应用程序接口针对数据工程任务进行了优化,而untyped Dataset[Row](DataFrame的别名)速度更快,适合交互式分析。
有关更多详细信息,请访问Spark RDD vs Dataset performance

发布于 2017-08-20 19:04:58
弹性分布式数据集是Spark框架的主要抽象,而Spark SQL (一个用于结构化数据处理的Spark模块)为Spark提供了更多关于数据结构和正在执行的计算的信息,因此使用这些额外的信息来执行额外的优化。
在Spark1.6之前,RDDs的性能通常比其对应的Spark SQL DataFrame (https://community.hortonworks.com/articles/42027/rdd-vs-dataframe-vs-sparksql.html)更好,然而,Spark2.1的升级使Spark SQL变得更加高效
https://stackoverflow.com/questions/45772907
复制相似问题