尝试在我的 databricks pyspark 数据框中添加额外的 2 列,但是当我从结果表中选择 * 时它没有显示。
for file in file_list:
try:
sql_query = create_sql_statement(file)
df = spark.sql(sql_query) \
.withColumn('type', F.lit('animal_type')) \
.withColumn('timestamp', F.current_timestamp())
df.write.format("delta").option("overwriteSchema", "true").mode("overwrite").saveAsTable(f'{database}.{table}')
except Exception as e:
print(e)
create_sql_statement 示例:'CREATE TABLE database.TABLE_NAME AS SELECT FIELD1, FIELD2, FIELD3, FIELD4, type, timestamp FROM DATABASE.TABLENAME'
运行上面的代码时,for 循环成功创建了表,我在下面看到了 pyspark df 结果,但没有看到在我的表中实现的新列。
num_affected_rows:long
num_inserted_rows:long
type:string
timestamp:timestamp
我看到两个结果之一:
我在语法上遗漏了什么吗?这是我之前的问题“SQL Error mismatched input 'sql_query' expecting {EOF} when using Create Table in Pyspark”的后续问题,已解决。