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的支持


时间日期操作
支持数值运算


字符串操作


posted on 2019-11-26 13:30 chenglanfighting 阅读(642) 评论(0) 收藏 举报
浙公网安备 33010602011771号