现在让咱们来学习怎么运用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打印数据的全部内容。每段代码都很短,很简单了解。这足以让咱们了解火花函数的代码知识。这个环境关于大数据 和其他工业和技术领域来说是非常强大的。