现在让咱们来学习怎么运用PySpark打印数据。数据是当今最基本的东西之一。它能够以加密或解密的格局供给。事实上,咱们每天也倾向于创造很多的信息。无论是在咱们的智能手机上点击一个按钮,仍是在咱们的电脑上阅读网页。可是,为什么咱们对这个问题谈得这么多?
研究人员在前几年遇到的首要问题是**怎么办理如此很多的信息?**技术是这个问题的答案。Apache Spark的呈现,构建出了PySpark来解决这个问题。
假如你是PySpark的新手,这儿有一个PySpark教程让你入门。
运用Pyspark的介绍
Apache Spark是一个数据办理引擎,帮助咱们为巨大的软件开发项目创造与剖析有关的解决方案。
它也是大数据工程师和数据科学家的一个挑选工具。掌握Spark的知识是各种科技公司招聘的紧缺技术之一。
它有许多扩展和办理选项。其间一个是来自Python的Pyspark,是为Python开发者预备的。这是支持库的API之一,能够明确地安装在每台核算机上。所以,这能够轻松地办理完成。咱们都知道,在Python中安装库是很简单的。
在咱们运用PySpark打印数据之前
在咱们开端学习运用PySpark打印数据的不同办法之前**,有一些前提条件是咱们需求考虑的。**
- 对Python的中心了解
- 对Pyspark及其支持包的中心了解。
- Python 3.6及以上版别
- Java 1.8及以上版别(最必修的)。
- 一个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() 函数。这个函数需求两个字符串方式的参数。
- 关键
- 值
关于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.在显现前对数据进行排序
排序是一个进程,在这个进程中,咱们将事物按恰当的次序排列。这能够是升序 –从小到大或降序 –从大到小。这在依照次序查看数据点时起着重要作用。数据结构中的列能够是各种类型。可是,两个首要类型是整数 和字符串。
- 关于整数的排序是根据大数和小数进行的。
- 关于字符串的排序是依照字母次序进行的。
Pyspark中的sort()函数仅用于此意图。它能够承受单个或多个列作为它的参数。让咱们对咱们的数据集进行测验。咱们将从数据集中对PassengerID列进行排序。为此,咱们有两个函数。
- sort()
- 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
列记录
鄙人面的代码中,咱们将对Name 和Fare 列进行排序。姓名是一个字符串数据类型,所以它将依照字母次序进行排序。而Fare是一个数字,所以它将以大-小的模式进行排序。
代码
data = data.orderBy(data.Name.desc(), data.Fare.desc())
data.show(5)
按降序排序
总结
所以,这便是关于咱们怎么运用Pyspark打印数据的全部内容。每段代码都很短,很简单了解。这足以让咱们了解火花函数的代码知识。这个环境关于大数据 和其他工业和技术领域来说是非常强大的。