69得票9回答
Apache Spark中的DataFrame相等性

假设df1和df2是使用两种不同机制计算的Apache Spark中的两个DataFrame,例如Spark SQL与Scala/Java/Python API。是否有一种惯用的方式来确定这两个数据框相等(同构),其中等价性由数据(每行的列名和列值)决定,除了行和列的顺序之外完全相同?该问题的...

68得票13回答
在数据框中将日期从字符串格式转换为日期格式

我试图使用to_date函数将一个字符串格式的列转换为日期格式,但它返回空值。df.createOrReplaceTempView("incidents") spark.sql("select Date from incidents").show() +----------+ | ...

68得票5回答
Spark合并多个数据框(dataframe)的方法:unionAll

对于一组数据框val df1 = sc.parallelize(1 to 4).map(i => (i,i*10)).toDF("id","x") val df2 = sc.parallelize(1 to 4).map(i => (i,i*100)).toDF("id","y")...

67得票9回答
Spark DataFrame去重并保留第一条记录

问题:在 pandas 中删除重复项时,可以指定要保留哪些列。 在 Spark Dataframes 中是否有等效的功能? Pandas:df.sort_values('actual_datetime', ascending=False).drop_duplicates(subset=['sc...

67得票8回答
Pyspark:在UDF中传递多列

我正在编写一个用户自定义函数,它将接受数据框中除第一列之外的所有列并执行sum(或任何其他操作)。现在数据框有时可能有3列或4列或更多。它会变化。 我知道我可以硬编码四个列名作为UDF中的参数,但在这种情况下,它会变化,所以我想知道如何完成它? 以下是两个示例,第一个示例我们有两列要添加,...

67得票3回答
PySpark:使用两个条件和三种结果的withColumn()函数

我正在使用Spark和PySpark。我试图实现与以下伪代码等效的结果:df = df.withColumn('new_column', IF fruit1 == fruit2 THEN 1, ELSE 0. IF fruit1 IS NULL OR fruit2 IS NULL 3...

66得票5回答
Spark SQL如何展开(explode)数组并保留空值

我有一个数据框需要拆平。作为处理的一部分,我想将其展开,因此如果我有一个包含数组的列,则数组的每个值都将用于创建单独的行。例如,id | name | likes _______________________________ 1 | Luke | [baseball, soccer] 应该...

66得票5回答
在pyspark中groupBy后如何计算唯一ID数量

我使用以下代码对学生进行年度聚合。目的是了解每年的学生总数。from pyspark.sql.functions import col import pyspark.sql.functions as fn gr = Df2.groupby(['Year']) df_grouped = gr....

66得票3回答
如何在groupBy后将值聚合到集合中?

我有一个数据框,其模式如下:[visitorId: string, trackingIds: array<string>, emailIds: array<string>] 寻找一种方式,可以将这个数据框按visitorid分组(或者可能是rollup?),其中trac...

65得票6回答
在Apache Spark Join中包含空值

我想在Apache Spark的join操作中包含null值。Spark默认情况下不包括null值的行。 这是Spark的默认行为。val numbersDf = Seq( ("123"), ("456"), (null), ("") ).toDF("numbers") va...