PySpark应用函数到列的介绍

602 阅读4分钟

PySpark apply function to column

PySpark应用函数到列的介绍

PySpark Apply Function to Column是一种在PySpark中应用函数和值的方法;这些函数可以是用户定义的函数和基于自定义的函数,可以应用于数据框架中的列。

该函数包含了大数据环境下的数据分析所需的转换。我们可以更新,在基于函数的模型上应用自定义逻辑,可以应用到PySpark数据框架/数据集模型中的列函数。

这篇文章将尝试分析使用PYSPARK Apply Function to Column操作的各种方法。

让我们试着了解一下PYSPARK Apply Function to Column操作的一些细节。

Pyspark应用函数到列的语法

PYSPARK应用函数的语法是:----。

`>>> from pyspark.sql.functions import lower,col   >>> b.withColumn("Applied_Column",lower(col("Name"))).show()`

导入是用来传递用户定义的函数。

B:- 使用的数据框架模型和要传递给列名的用户定义的函数。它将列名作为参数,而函数可以被传递。

屏幕截图:-

PySpark apply function to column output 1

在Pyspark中应用函数到列的工作原理

让我们看看Apply Function to Column在PySpark中是如何工作的。

该函数可以是一组转换或规则,用户可以定义并应用于数据框架/数据集中的一个列。这个函数允许用户有一组规则,这些规则可以通过注册一个spark会话来使用,并应用到需要的列。PySpark还提供了一些内置的函数,可以通过PySpark应用于列。然后返回的结果是转换后的列值。如果是用户定义的函数,该函数首先被加载到PySpark内存中,然后传递列值,在PySpark数据框架中的每一列上进行迭代,并将逻辑应用到它。

内置函数被预装在PySpark内存中,然后这些函数可以被应用到PySpark的某一列值。然后,结果被存储并返回到PySpark数据模型的列上。

让我们通过一些编码例子来检查Apply Function to Column的创建和工作。

PySpark应用函数到列的例子

让我们看看PySpark排序操作的一些例子:-

让我们先在PySpark中创建一个样本数据框:

`>>> data1 = [{'Name':'Jhon','Sal':25000,'Add':'USA'},{'Name':'Joe','Sal':30000,'Add':'USA'},{'Name':'Tina','Sal':22000,'Add':'IND'},{'Name':'Jhon','Sal':15000,'Add':'USA'}]`

该数据包含姓名、工资和地址,将被用作创建数据框的样本数据:

`>>> a = sc.parallelize(data1)`

sc.parallelize将被用于创建具有给定数据的RDD:

`>>> b = spark.createDataFrame(a)`

创建后,我们将使用createDataFrame方法来创建数据框。

这就是数据框架的样子。

>>> b.show()

屏幕截图:-

PySpark apply function to column output 2

让我们先在Spark数据框架中使用一个预定义的函数,并将其应用于数据框架中的一个列,并检查结果如何返回:

>>> from pyspark.sql.functions import lower,col`

导入语句是用来定义列上的预定义函数的:

`>>> b.withColumn("Applied_Column",lower(col("Name"))).show()`

with Column函数用于在Spark数据模型中创建一个新的列,并应用函数lower,占用列值并以小写形式返回结果。

输出:-

屏幕截图:-

PySpark apply function to column output 3

我们将通过定义自定义函数并将其应用到PySpark数据框架中来检查这一点。我们将从使用必要的输入法开始:

`>>> from pyspark.sql.types import IntegerType   >>> from pyspark.sql.functions import lower,col,udf`

我们将定义一个自定义函数,返回Sal的总和,并尝试在数据框架的列上实现它:

`def Sal(a):   ... return a+a   ...`

屏幕截图:-

output 4

我们将首先注册UDF,指明返回类型。之后,UDF被注册在内存中,可以用来传递列值。

这个函数通过添加SUM值来返回一个新的值:

`>>> reg_sal = udf(lambda q : Sal(q), IntegerType())`

定制的用户定义的函数可以通过一个列,然后返回新的列值的结果:

`>>> b.withColumn("Reg_Salary",reg_sal(col("Sal"))).show()`

屏幕截图:-

output 5

这些是在PySpark中应用函数到列的一些例子。

注:-

  1. Apply Function to Column是一个应用于PySpark数据框架模型中列值的操作。
  2. Apply Function to Column应用转换,最终的结果将作为结果返回。
  3. Apply Function to Column使用预定义的函数以及PySpark上的用户定义的函数。
  4. Apply Function to Column可以应用于多列,也可以应用于单列。

总结

从上面的文章中,我们看到了Apply Function to Column的工作。从各种例子和分类中,我们试图了解这个Apply函数是如何在PySpark中使用的,以及在编程层面上是如何使用的。所用的各种方法显示了它是如何简化数据分析的模式和一个具有成本效益的模型。

我们还看到了PySpark数据框架中Apply函数的内部工作和优势,以及它在各种编程目的中的使用。此外,语法和例子帮助我们准确地理解了这个函数。