页面树结构

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


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

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

数据帧的数据读/写器接口

根据用户的反馈,我们创建了一个新的更快速的 API 中读取数据 (SQLContext.read)和写入数据(DataFrame.write)。同时废弃的过时的API(例如SQLContext.parquetFileSQLContext.jsonFile)。

请参阅 API 文档 SQLContext.read(ScalaJavaPython )和 DataFrame.write(Scala , JavaPython)的更多信息。

DataFrame.groupBy 保留分组列

根据用户反馈,我们改变的默认行为 DataFrame.groupBy().agg() 保留在 DataFrame 的分组列。为了维持 1.3 的行为特征,设置 spark.sql.retainGroupColumns 为 false

// 在 1.3.x 中, 为了让"department"列得到展示,
// 必须包括明确作为 gg 函数调用的一部分。
df.groupBy("department").agg($"department", max("age"), sum("expense"))

// 在 1.4 以上版本, "department" 列自动包含了.
df.groupBy("department").agg(max("age"), sum("expense"))

// 恢复到 1.3 版本(不保留分组列)
sqlContext.setConf("spark.sql.retainGroupColumns", "false")

在 DataFrame.withColumn 中的改变

之前 1.4 版本中,DataFrame.withColumn() 只支持添加列。该列将始终在 DateFrame 结果中被加入作为新的列,即使现有的列可能存在相同的名称。从 1.4 版本开始,DataFrame.withColumn() 支持添加与所有现有列的名称不同的列或替换现有的同名列。

请注意,这一变化仅适用于 Scala API,并不适用于 PySpark 和 SparkR