页面树结构

2017-07-25 Apache Spark 2.2.0 官方文档中文版发布 : http://spark.apachecn.org/docs/cn/2.2.0/


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

一个 Dataset 是一个分布式的数据集合。Dataset 是在 Spark 1.6 中被添加的新接口,它提供了 RDD 的优点(强类型化,能够使用强大的 lambda 函数)与Spark SQL执行引擎的优点。一个 Dataset 可以从 JVM 对象来构造并且使用转换功能(mapflatMapfilter,等等)。Dataset APIScalaJava 中是可用的。Python 不支持 Dataset API。但是由于 Python 的动态特性,许多 Dataset API 的有点已经可用了(也就是说,你可能通过 name 天生的 row.columnName 属性访问一行中的字段)。这种情况和 R 相似。

一个 DataFrame 是一个 Dataset 组织成的指定列。它的概念与一个在关系型数据库或者在 R/Python 中的表是相等的,但是有更多的优化。DataFrame 可以从大量的 Source 中构造出来,像 : 结构化的数据文件,Hive 中的表,外部的数据库,或者已存在的 RDDDataFrame APIScalaJavaPythonR 中是可用的。在 ScalaJava 中,一个 DataFrame 所代表的是一个多个 Row(行)的 Dataset。在 Scala API 中,DataFrame 仅仅是一个 Dataset[Row] 类型的别名 。然而,在 Java API 中,用户需要去使用 Dataset<Row> 来表示 DataFrame

在这个文档中,我们将常常会引用 Scala/Java  的 DatasetRow(行)作为 DataFrame