阅读 217

Python完整指南——使用PySpark打印数据

现在让我们来学习如何使用PySpark打印数据。数据是当今最基本的东西之一。它可以以加密或解密的格式提供。事实上,我们每天也倾向于创造大量的信息。无论是在我们的智能手机上点击一个按钮,还是在我们的电脑上浏览网页。但是,为什么我们对这个问题谈得这么多?

研究人员在前几年遇到的主要问题是**如何管理如此大量的信息?**技术是这个问题的答案。Apache Spark的出现,构建出了PySpark来解决这个问题。

如果你是PySpark的新手,这里有一个PySpark教程让你入门。

使用Pyspark的介绍

Apache Spark是一个数据管理引擎,帮助我们为巨大的软件开发项目发明与分析有关的解决方案。

它也是大数据工程师和数据科学家的一个选择工具。掌握Spark的知识是各种科技公司招聘的紧缺技能之一。

它有许多扩展和管理选项。其中一个是来自Python的Pyspark,是为Python开发者准备的。这是支持库的API之一,可以明确地安装在每台计算机上。所以,这可以轻松地管理实现。我们都知道,在Python中安装库是很容易的。

在我们使用PySpark打印数据之前

在我们开始学习使用PySpark打印数据的不同方法之前**,有一些前提条件是我们需要考虑的。**

  1. 对Python的核心理解

  2. 对Pyspark及其支持包的核心理解。

  3. Python 3.6及以上版本

  4. Java 1.8及以上版本(最必修的)。

  5. 一个IDE,如Jupyter Notebook或VS Code。

要检查这些,请进入命令提示符并输入命令。

python --version 

复制代码
java -version复制代码

版本检查

你可以通过以下方式使用PySpark打印数据。

  • 打印原始数据

  • 格式化打印的数据

  • 显示顶部20-30行

  • 显示底部20行

  • 在显示前对数据进行排序

本教程其余部分使用的资源和工具。

  • 数据集。 titanic.csv

  • 环境。 Anaconda

  • 集成开发环境。 Jupyter笔记本

创建一个会话

在spark环境中,会话是我们活动的所有实例的记录保持者。为了创建它,我们使用spark库中的SQL 模块。

这个SparkSession类有一个构建器 属性,它有一个**appname()**函数。这个函数将应用程序的名称作为一个字符串形式的参数。

然后我们使用**getOrCreate()方法创建应用程序,该方法使用点'.'**操作符调用。使用这些代码,我们创建我们的应用程序为 "App"。

我们可以完全自由地给我们创建的应用程序起任何名字。 千万不要忘记创建一个会话,因为我们无法继续下去。

代码。

import pyspark 
from pyspark.sql import SparkSession 

session = SparkSession.builder.appName('App').getOrCreate() # creating an app复制代码

创建一个会话

使用PySpark打印数据的不同方法

现在你都准备好了,让我们进入真正的交易。现在我们将在这里学习使用PySpark打印数据的不同方法。

1.打印原始数据

在这个例子中,我们将与一个原始数据集一起工作。在 AI(人工智能域中,我们把数据的集合称为数据集

它以各种形式出现,如excel、逗号分隔的值文件、文本文件或服务器文档模型。所以,要记下我们是用什么类型的文件格式来打印原始数据。

在这里,我们使用的是一个扩展名为**.csv的数据集。会话的读取** 属性有各种函数用于读取文件。

这些函数通常根据不同的文件类型而命名。因此,我们为我们的数据集使用csv()函数。我们把所有东西都存储在数据变量中。

代码

data = session.read.csv('Datasets/titanic.csv')
data # calling the variable复制代码

默认情况下,Pyspark会以字符串的形式读取所有的数据。因此,我们调用我们的数据变量,然后它以字符串的形式返回每一列的数字。

要打印原始数据,请使用点运算符--'.',在数据变量中调用**show()**函数。

data.show()复制代码

读取数据集

2.格式化数据

Pyspark中的数据格式化意味着显示数据集中各列 的适当数据类型 。为了显示所有的标题,我们使用option() 函数。这个函数需要两个字符串形式的参数。

  1. 关键

对于key 参数,我们给出的值是header ,值是true。这样做的目的是,它将扫描出需要显示的页眉而不是上面的列号。

最重要的是要扫描每一列的数据类型。为此,我们需要激活先前用于读取数据集的csv()函数中的inferschema 参数。这是一个布尔 数据类型的参数,也就是说,我们需要将其设置为True 来激活它。我们用点运算符连接每个函数。

代码。

data = session.read.option('header', 'true').csv('Datasets/titanic.csv', inferSchema = True)
data复制代码
data.show()复制代码

以正确的格式显示数据

输出

我们可以看到,标题与适当的数据类型是可见的。

3.显示前20-30行

要显示前20-30行,我们只需要一行代码就可以做到。**show()函数为我们做到了这一点。如果数据集太大,它将默认显示前20行。但是,我们可以让它显示尽可能多的行。只要把这个数字作为show()**函数的一个参数就可以了。

data.show() # to display top 20 rows复制代码

显示前20行

data.show(30) # to display top 30 rows复制代码

显示前30行

我们可以使用**head()**函数实现同样的功能。这个函数专门提供了对数据集最上面部分的行的访问。它以行数为参数,按行数显示。例如,要显示前10行

data.head(10)复制代码

但是,其结果是以数组或列表的形式出现。最令人失望的是,我们不能对有成千上万行的大型数据集使用head()函数。下面是这方面的证明。

使用头部方法来打印前10行

4.显示底部20-30行

这也是一个比较容易的任务。tail()函数可以帮助我们完成这个任务。用数据框变量调用它,然后给我们想要显示的行数作为参数。例如,为了显示最后的20行,我们将代码写成。

data.tail(20)复制代码

显示波顿20行

同样的,我们不能做任何适当的视图,因为我们的数据集太大,无法显示这些行。

5.在显示前对数据进行排序

排序是一个过程,在这个过程中,我们将事物按适当的顺序排列。这可以是升序 --从小到大或降序 --从大到小。这在按照顺序查看数据点时起着重要作用。数据框架中的列可以是各种类型。但是,两个主要类型是整数字符串

  1. 对于整数的排序是根据大数和小数进行的。

  2. 对于字符串的排序是按照字母顺序进行的。

Pyspark中的sort()函数仅用于此目的。它可以接受单个或多个列作为它的参数。让我们对我们的数据集进行尝试。我们将从数据集中对PassengerID列进行排序。为此,我们有两个函数。

  1. sort()

  2. orderBy()

以升序排序

data = data.sort('PassengerId')
data.show(5)复制代码

对单一列进行排序 1

PassengerID 列已经被排序。该代码将所有的元素按升序排列。这里我们只对单列进行排序。要对多列进行排序,我们可以在sort()函数中逐一传递,用逗号将每一列分开。

data = data.sort('Name', 'Fare')
data.show(5)复制代码

对多列进行排序

以降序排序

这是专门针对**orderBy()**函数的。这个函数提供了一个特殊的选项来对我们的数据进行降序排序。

在这种情况下,所有的代码都是一样的,只是我们在插入列并使用点运算符与它们连接后,在orderBy()函数中调用一个**desc()**函数。

**desc()**将那些特定列的所有元素排列或排序在 降序.

首先,让我们看一下数据集中的所有列。

代码。

data.columns复制代码

列记录

在下面的代码中,我们将对NameFare 列进行排序。名字是一个字符串数据类型,所以它将按照字母顺序进行排序。而Fare是一个数字,所以它将以大-小的模式进行排序。

代码

data = data.orderBy(data.Name.desc(), data.Fare.desc())
data.show(5)复制代码

按降序排序

总结

所以,这就是关于我们如何使用Pyspark打印数据的全部内容。每段代码都很短,很容易理解。这足以让我们了解火花函数的代码知识。这个环境对于大数据 和其他工业和技术领域来说是非常强大的。


作者:方石剑
链接:https://juejin.cn/post/7025523558432374792

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐