栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark DataFrame操作

Spark DataFrame操作

操作的对应的视频如下,在腾讯课堂可免费查看所有的视频与下载简介资料个人大数据平台的搭建与学习实践-PySpark-学习视频教程-腾讯课堂 (qq.com)

PySpark的认识和使用

简介

Dataframe在Spark 1.3时加入,其前身是Spark 1中的SQL Context、Streaming Context、Hive Context等对象,它类似于关系数据库中的表,是行和列进行组织数据。
Dataframe相当是一张二维表,可以使用SparkSession中的各种函数来创建。

按照和上小节对Spark RDD的方式进行对Spark Dataframe进行说明,且由于Spark Dataframe是在Spark 2中添加的,通过使用SparkSession进行创建,所以通过以下的步骤进行演示。

1-打开官方文档和JupyterLab

PySpark中SparkSession类的文档:https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.SparkSession.html
通过Jupyter-lab命令打开jupyter notebook。

2-创建SparkSession对象

在5-2节中已经对SparkSession的方式进行了简单的演示,它主要是通过类中Builder类型属性进行构建SparkSession实例的。如果想深入的了解Builder,可以通过文档上的源码链接跳转到源码进行查看。

import findspark
findspark.init()
from pyspark.sql import SparkSession
spark = SparkSession
        .builder
        .master('local')
        .appName("Dataframe")
        .getOrCreate()    #getOrCreate获取或创建

关于Builder属性的源码

class Builder(object):
        """Builder for :class:`SparkSession`.
        """

        _lock = RLock()
        _options = {}
        _sc = None

        def config(self, key=None, value=None, conf=None):
            """Sets a config option. Options set using this method are automatically propagated to
            both :class:`SparkConf` and :class:`SparkSession`'s own configuration.

            .. versionadded:: 2.0.0

            Parameters
            ----------
            key : str, optional
                a key name string for configuration property
            value : str, optional
                a value for configuration property
            conf : :class:`SparkConf`, optional
                an instance of :class:`SparkConf`
          .....
通过SparkSession对象读取数据生产Dataframe

通过上一步创建了SparkSession对象spark后,就可以它来创建Spark Dataframe数据类型了,通过函数是createDataframe(data[, schema, …])。
文档中对函数中的data参数说明:可以是 RDD, list or pandas.Dataframe。或使用read属性进行读取数据,这部分知识点在Spark SQL小节中说明。在本节中对Dataframe类型函数索命。

当schema为None时,它将尝试从数据推断模式(列名和类型)参数schema表示Dataframe数据模式,指定列名和类型。拷贝文档下载的实例代码进行执行,调用createDataframe函数创建Dataframe数据的语句,注意语句中使用StructField定义表模型。而StructType在函数说明中也提及了,可以调整到对应的文档中查看。StructType -- > StructType --> StructField

from pyspark.sql.types import *
schema = StructType([
   StructField("name", StringType(), True),
   StructField("age", IntegerType(), True)])
df3 = spark.createDataframe(rdd, schema)
df3.collect()
[Row(name='Alice', age=1)]
4-对Dataframe数据对象操作

可以查看《Python大数据分析从入门到精通》中的PySpark Dataframe中的API示例。

打开Dataframe Python文档https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.Dataframe.html

功能函数分类

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349857.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号