我只是想知道 Apache Spark 中的RDD和DataFrame _(Spark 2.0.0 DataFrame 只是类型别名Dataset[Row])_有什么区别?
RDD
DataFrame
Dataset[Row]
你能把一个转换成另一个吗?
DataFrame通过谷歌搜索“DataFrame 定义”可以很好地定义A :
数据框是一个表格或二维数组结构,其中每一列包含一个变量的测量值,每一行包含一个案例。
因此,DataFrame由于其表格格式,a 具有额外的元数据,这允许 Spark 对最终查询运行某些优化。
RDD另一方面,An只是一个 R 弹性 D 分布式数据集,它更像是一个无法优化的数据黑盒,因为可以对其执行的操作不受限制 。
RDD但是,您可以通过它的方法从一个 DataFrame 转到一个rdd,并且您可以通过该方法从一个转到RDD一个DataFrame(如果 RDD 是表格格式)toDF
rdd
toDF
通常DataFrame,由于内置查询优化,建议尽可能使用。