如何在PySpark DataFrame中添加带常量值的新列?
在PySpark DataFrame中添加常量日期列FILE_DT
步骤1:初始化SparkSession并读取CSV文件
先初始化SparkSession,再读取目标CSV文件转为DataFrame:
from pyspark.sql import SparkSession from pyspark.sql.functions import lit # 初始化SparkSession spark = SparkSession.builder.appName("AddConstantDate").getOrCreate() # 读取CSV,header=True指定第一行为列名,inferSchema=True自动推断列数据类型 df = spark.read.csv("your_csv_file.csv", header=True, inferSchema=True)
步骤2:添加常量值的FILE_DT列
使用lit()函数生成常量值,通过withColumn()新增列并赋值为"2022-10-01":
# 为所有行添加FILE_DT列,值统一为"2022-10-01" df_result = df.withColumn("FILE_DT", lit("2022-10-01"))
如果需要将FILE_DT转为日期类型(而非字符串),可结合to_date()函数处理:
from pyspark.sql.functions import to_date # 添加日期类型的FILE_DT列 df_result_date = df.withColumn("FILE_DT", to_date(lit("2022-10-01"), "yyyy-MM-dd"))
验证结果
执行show()方法查看最终DataFrame:
df_result.show()
输出示例:
| NAME | INFO | TITLE | FILE_DT |
|---|---|---|---|
| AAA | 222 | BBB | 2022-10-01 |
| ACC | 111 | CCB | 2022-10-01 |
| ADD | 333 | DDC | 2022-10-01 |
| ASS | 444 | NNC | 2022-10-01 |
内容的提问来源于stack exchange,提问作者Anos
相关产品推荐
相关产品推荐

