2.2 方法

  1. .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实例

  2. .newSession():返回一个新的SparkSession实例,它拥有独立的SQLConfregistered temporary views and UDFs,但是共享同样的SparkContext以及table cache

  3. .range(start,end=None,step=1,numPartitions=None):创建一个DataFrame,它只有一列。该列的列名为id,类型为pyspark.sql.types.LongType,数值为区间[start,end),间隔为step(即:list(range(start,end,step)) )

  4. .sql(sqlQuery):查询SQL 并以DataFrame 的形式返回查询结果

  5. .stop():停止底层的SparkContext

  6. .table(tableName):以DataFrame的形式返回指定的table