[英]DataSet javaRDD() performance
我正在使用Spark SQL
在Spark
应用程序中从Cassandra
检索数据。 数据作为DataSet
检索。 但是,我需要使用javaRDD()
函数将此dataset
转换为JavaRDD
。 它可以工作,但是大约需要2个小时。 是否有一些参数需要调整以增强这次效果?
Dataset APIs
建立在SparkSQL
引擎之上,它使用Catalyst
生成优化的逻辑和物理查询计划。 跨R, Java, Scala,
或Python DataFrame/Dataset APIs
,所有关系类型查询都使用相同的代码优化器,从而提供了空间和速度效率。 Dataset[T]
类型的API已针对数据工程任务进行了优化, DataFrame
untyped Dataset[Row]
( DataFrame
的别名)则更快,并且更适合进行交互式分析。
有关更多详细信息, Spark RDD与数据集性能
弹性分布式数据集(RDD)是Spark框架的主要抽象,而Spark SQL(用于结构化数据处理的Spark模块)为Spark提供了有关数据结构和正在执行的计算的更多信息,因此使用此额外信息来执行额外的优化。
直到Spark 1.6之前,RDD的性能都优于其Spark SQL对应的DataFrame( https://community.hortonworks.com/articles/42027/rdd-vs-dataframe-vs-sparksql.html ),但是Spark 2.1升级具有使Spark SQL更加高效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.