spark ml

 

 

 spark ml是基于spark 2.0环境,以DataFrame为数据处理单元。spark经历了三代,依次如下。DataFrame是个列式数据集,结构化的数据集,RDD是非结构化的,第二代比第一代因结构化数据计算的性能都要优秀些。第三代的dataset已经序列化的

数据,是encoding,已经转化为二进制,也就是spark自己已实现编码和反编码。因此,其性能因不需要要第三方结构来处理数据得到进一步提升。RDD会逐步退出历史舞台。

 DataFrame按列处理数据,不是面向对象风格,不进行安全检查,只有在运行的时候才进行安全检查。

 

DataSet必须明确每一个列,是个强类型,在编译的时候进行类型检查。用case class定义。

 

 

 

 RDD的创建

 创建示例

 RDD转化为DataFram

 

 

 如果出现错误,可以从checkpoint恢复,不需要重新跑一边程序。

 

 转化为临时sql表

转化为临时表可以进行sql操作。

 

 

 

 

 

 

去重操作示例

 Expr操作??

 分割操作示例

withcolumn是增加一列,增加常数项

 

 聚合操作示例

 

 

 对json的支持

 时间日期操作

支持数值运算

 

 字符串操作

猜你喜欢

转载自www.cnblogs.com/chenglansky/p/11934851.html