pyspark中很多常用的功能,过段时间没有使用就容易忘记,需要去网上搜索,这里总结一下,省的以后还去去搜,供自己以后参考。
def hot_func(info_str):
if info_str:
eturn "1"
return "0"
df = df.withColumn("is_hot", F.udf(hot_func, StringType())(F.col("your_col_name")))
该中情况一般在需要处理过个行的情况下使用,如果是少数的行处理,可以使用withColumn
def hot_func(info_str):
if info_str:
eturn "1"
return "0"
df = df.withColumn("is_hot", F.udf(hot_func, StringType())(F.col("your_col_name")))
def gen_norm(row):
# 转为字段处理
row_dict = row.asDict(recursive=True)
process_key = row_dict["key"]
row_dict["process_key"] = process_key
return Row(**row_dict)
# sampleRatio=0.01 为推断列类型的抽样数据比例
df = df.rdd.map(gen_norm).toDF(sampleRatio=0.01).cache()
df.show()