2.2 方法
.createDataFrame(data, schema=None, samplingRatio=None, verifySchema=True)
:从RDD
、一个列表、或者pandas.DataFrame
中创建一个DataFrame
参数:
data
:输入数据。可以为一个RDD
、一个列表、或者一个pandas.DataFrame
schema
:给出了DataFrame
的结构化信息。可以为:- 一个字符串的列表:给出了列名信息。此时每一列数据的类型从
data
中推断 - 为
None
:此时要求data
是一个RDD
,且元素类型为Row、namedtuple、dict
之一。此时结构化信息从data
中推断(推断列名、列类型) - 为
pyspqrk.sql.types.StructType
:此时直接指定了每一列数据的类型。 - 为
pyspark.sql.types.DataType
或者datatype string
:此时直接指定了一列数据的类型,会自动封装成pyspqrk.sql.types.StructType
(只有一列)。此时要求指定的类型与data
匹配(否则抛出异常)
- 一个字符串的列表:给出了列名信息。此时每一列数据的类型从
samplingRatio
:如果需要推断数据类型,则它指定了需要多少比例的行记录来执行推断。如果为None
,则只使用第一行来推断。verifySchema
:如果为True
,则根据schema
检验每一行数据
返回值:一个
DataFrame
实例
.newSession()
:返回一个新的SparkSession
实例,它拥有独立的SQLConf
、registered temporary views and UDFs
,但是共享同样的SparkContext
以及table cache
。.range(start,end=None,step=1,numPartitions=None)
:创建一个DataFrame
,它只有一列。该列的列名为id
,类型为pyspark.sql.types.LongType
,数值为区间[start,end)
,间隔为step
(即:list(range(start,end,step))
).sql(sqlQuery)
:查询SQL
并以DataFrame
的形式返回查询结果.stop()
:停止底层的SparkContext
.table(tableName)
:以DataFrame
的形式返回指定的table