Spark DataFrame 是 2015 年 3 月 13 日发布的 Spark 1.3.0 版本中新引入的,也是该版本最大的亮点,从属于 Spark SQL 模块。DataFrame 主要用于进行结构化数据的处理,它提供的一种基于 RDD 之上的全新概念,但是它的底层其实还是基于 RDD 的。
创建 DataFrame
DataFrame 的数据来源可以多种多样,可以通过手写数据,也可以从 csv、json 等文件加载,还可以从 mysql、hive 等存储数据表导入数据。
手写数据初始化 DataFrame
通过 createDataFrame 函数加载数据,示例如下:
from pyspark.sql import SparkSession
spark_session = SparkSession.builder.appName('knowledgedict-dataframe').getOrCreate()
df = spark_session.createDataFrame(
schema=['impression', 'click', 'ctr'],
data=[(100, 5, 0.05), (10, 3, 0.3)]
)
print(df)
df.show()
函数列表
函数 | 描述 | 版本 |
---|---|---|
filter(self, condition) | 根据指定的条件过滤掉满足条件的行。 | 从 1.3 版本支持 |
fillna(self, value, subset=None) | 填充 null 值,可指定列,也可以全量替换,比较灵活。 | 从 1.3.1 版本支持 |