小编evi*_*ish的帖子

Spark:从失败的 regexp_extract() 返回 null

假设您尝试从数据帧的列中提取子字符串。regexp_extract()如果字段本身为 null,则返回 null;如果字段不为 null 但未找到表达式,则返回空字符串。对于后一种情况如何返回空值?

df = spark.createDataFrame([(None),('foo'),('foo_bar')], StringType())
df.select(regexp_extract('value', r'_(.+)', 1).alias('extracted')).show()

# +---------+
# |extracted|
# +---------+
# |     null|
# |         |
# |      bar|
# +---------+
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql pyspark

5
推荐指数
1
解决办法
7479
查看次数

Spark:用另一列中的值替换缺失值

假设您有一个包含一些空值的 Spark 数据帧,并且您想用另一列的值替换一列的值(如果存在)。在 Python/Pandas 中,您可以使用 fillna() 函数很好地完成此操作:

df = spark.createDataFrame([('a', 'b', 'c'),(None,'e', 'f'),(None,None,'i')], ['c1','c2','c3'])
DF = df.toPandas()
DF['c1'].fillna(DF['c2']).fillna(DF['c3']) 
Run Code Online (Sandbox Code Playgroud)

如何使用 Pyspark 做到这一点?

apache-spark apache-spark-sql pyspark

3
推荐指数
1
解决办法
4992
查看次数

标签 统计

apache-spark ×2

apache-spark-sql ×2

pyspark ×2