一.结构化API–DataFrame
Spark结构化API是处理各种数据类型的工具,能处理非结构化的日志文件、半结构化的csv文件、高度结构化的Parquet文件。包括以下三种核心分布式集合类型API:
- Dataset
- DataFrame
- SQL表和视图
DataFrame
DataFrame由记录(record)组成,record是Row类型。一个record由多列组成,这里可以类比python中的DataFrame。
创建DataFrame
1.从Dataset创建
这里range函数会返回一个Dataset,这个类型在后面学习时再来更新。Dataset的toDF函数会返回一个DataFrame,从图中可以看到DF的类型是DataFrame。调用collect()方法会返回一个由所有元素组成的数组。
2.从数据源手动创建
从图中可以看到从一个json文件创建了DataFrame,format指定了数据源的文件格式。这里要指出的是,创建DataFrame的同时也要创建它的schema(模式),模式定义了列名以及列的数据类型,这里可以和python中的dataframe进行类比。
创建schema的方式有两种,可以从数